There are 3 ways to do it Each methods has its own Pros and Cons Crass way , Subclassing container class and using templateProcessor->setComplexBlock templateProcessor->setComplexBlock will give Error, Uncaught Error: Class ‘PhpOffice\PhpWord\Writer\Word2007\Element\Section’ not found. That is why container subclass is used namespace PhpOffice\PhpWord\Writer\Word2007\Element; class Section extends Container{} and then $phpWord = new \PhpOffice\PhpWord\PhpWord();//$this->templateProcessor->makeTable();//new \PhpOffice\PhpWord\PhpWord(); $section…
Category: PHP Word
Finding and replacing text with PHPWord https://stackoverflow.com/a/20220205 PHPWord is only intented to create docx files. Anyhow, a docx file is simply a collection of xml files in a zip container. In general what you need to do is: Rename xxx.docx to xxx.zip Unzip to a temporary folder In temporary_folder_from_unzipped_doc/word read in document.xml which contains all…
$section->addListItem($text, [$depth], [$fontStyle], [$listStyle], [$paragraphStyle]);$listItemRun = $section->addListItemRun([$depth], [$listStyle], [$paragraphStyle]); Basic UsageaddListItem is used for creating lists that only contain plain text. addListItemRun is used for creating complex list items that contains texts with different style (some bold, other italics, etc) or other elements, e.g. images or links.
Simpler Method to Add a table : replacing a placeholder with Template Processor Replace an Existing Table with ZipArchive Class
Two nice references https://phpword.readthedocs.io/en/latest/templates-processing.htmlhttps://hotexamples.com/examples/-/PhpOffice%255CPhpWord%255CTemplateProcessor/-/php-phpoffice%255cphpword%255ctemplateprocessor-class-examples.html An example for using phpWord Templates can be found here: http://phpword.readthedocs.org/en/latest/templates.html
PHP Word provides \PhpOffice\PhpWord\IOFactory::createReader . its ‘load’ method returns contents as an object However , this object is too complex if the intention is to just get the text contents for search. The complete Code would look like this. So a simpler way could be adopted using PHP ‘zip_read’
PHP Word provides different options to add table https://github.com/DerekMarcinyshyn/phpword/blob/master/samples/Sample_09_Tables.php Here is a sample code with few options
PHP Word documentation : https://phpword.readthedocs.io/en/latest/installing.html The library for phpWord can be found here: https://github.com/PHPOffice/PHPWord Sample codes : https://github.com/PHPOffice/PHPWord/tree/develop/samples A nice tutorial to beginwith https://redstapler.co/phpword-intro/ Install PHPWord via Composer (Composer is a Dependency Manager Tool for PHP. Like npm for Node.js) Add the below code to your composer.json file. In command prompt and type below to trigger the…