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.
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
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.");