phpWord - Cannot add PreserveText in Section

2020-07-20 17:48发布

问题:

Not got a lot of experience with phpWord and coming across the following error:

Fatal error: Uncaught exception 'BadMethodCallException' with message 'Cannot add PreserveText in Section.'

Its happening when using the below line:

$phpWord = \PhpOffice\PhpWord\IOFactory::load($document_location . $document_name . '.docx'); 

The document definitely exists and I can save the document and readfile as well.

Any insight would be greatly appreciated.

回答1:

I had the same Problem (also asked here) and for me loading the document worked after I removed all mail merge fields from it. Maybe this works for you, too



回答2:

For using preserve text in Section add to method checkValidity() in file PhpOffice/PhpWord/Element/AbstractContainer.php new rules.

For example :

in line 214: 'PreserveText' => array('Header', 'Footer', 'Cell') add Section to array

in line 224: 'PreserveText' => array(array('Cell'), array('Header', 'Footer')) add Section too for sub containers.

Now, you should write

$section->addPreserveText("Total {PAGE} pages.");


标签: php phpword