From 78633940b8acd2c23b687f343892ccce676496bd Mon Sep 17 00:00:00 2001 From: Edward Nash Date: Tue, 27 Jun 2017 10:49:52 +0200 Subject: [PATCH] Additional template processing for tables - insertion of a new table at a placeholder - deletion of a table containing a placeholder - deletion of a table row containing a placeholder --- src/PhpWord/TemplateProcessor.php | 217 +++++++++++++++++- tests/PhpWord/TemplateProcessorTest.php | 98 ++++++++ .../_files/templates/table-delete-row.docx | Bin 0 -> 24842 bytes .../_files/templates/table-delete.docx | Bin 0 -> 25265 bytes .../_files/templates/table-insert.docx | Bin 0 -> 23808 bytes 5 files changed, 314 insertions(+), 1 deletion(-) create mode 100644 tests/PhpWord/_files/templates/table-delete-row.docx create mode 100644 tests/PhpWord/_files/templates/table-delete.docx create mode 100644 tests/PhpWord/_files/templates/table-insert.docx diff --git a/src/PhpWord/TemplateProcessor.php b/src/PhpWord/TemplateProcessor.php index e7a8d039c4..9cf3f1591a 100644 --- a/src/PhpWord/TemplateProcessor.php +++ b/src/PhpWord/TemplateProcessor.php @@ -29,6 +29,32 @@ class TemplateProcessor { const MAXIMUM_REPLACEMENTS_DEFAULT = -1; + /** + * sprintf Template for a table + * + * sprintf arguments: + * 1: s, gridCol definition elements + * 2: s, table cell elements + */ + const TABLE_TEMPLATE = '%s%s'; + + /** + * sprintf Template for a gridCol element in a table definition + * + * sprintf arguments: + * 1: d, width of the column in Twips + */ + const TABLEGRIDCOL_TEMPLATE = ''; + + /** + * sprintf Template for a table cell element in a table definition + * + * sprintf arguments: + * 1: d, width of the cell in Twips + * 2: s, cell text content + */ + const TABLECELL_TEMPLATE = '%s'; + /** * ZipArchive object. * @@ -147,7 +173,7 @@ protected function transformXml($xml, $xsltProcessor) /** * Applies XSL style sheet to template's parts. - * + * * Note: since the method doesn't make any guess on logic of the provided XSL style sheet, * make sure that output is correctly escaped. Otherwise you may get broken document. * @@ -256,6 +282,43 @@ public function getVariables() return array_unique($variables); } + /** + * Insert a table at the place marked by the block template + * @param string $name Name of block template + * @param array $columns Array keyed on column (template) name, containing + * column width in CSS units (string) or twips (integer) + * + * @return \PhpOffice\PhpWord\TemplateProcessor + */ + public function insertTable($name, array $columns) + { + $gridCols = ''; + $cells = ''; + + foreach ($columns as $variable => $width) { + $twipWidth = is_string($width) ? Converter::cssToTwip($width) : $width; + $gridCols .= sprintf(static::TABLEGRIDCOL_TEMPLATE, $twipWidth); + $cells .= sprintf(static::TABLECELL_TEMPLATE, $twipWidth, static::ensureMacroCompleted($variable)); + } + + return $this->replaceXmlBlock($name, sprintf(static::TABLE_TEMPLATE, $gridCols, $cells)); + } + + /** + * Delete a table containing the given variable + * + * @param string $search + * + * @return \PhpOffice\PhpWord\TemplateProcessor + */ + public function deleteTable($search) { + $block = $this->findContainingXmlBlockForMacro($search, 'w:tbl'); + + $this->tempDocumentMainPart = $this->getSlice(0, $block['start']) . $this->getSlice($block['end']); + + return $this; + } + /** * Clone a table row in a template document. * @@ -315,6 +378,21 @@ public function cloneRow($search, $numberOfClones) $this->tempDocumentMainPart = $result; } + /** + * Delete a row containing the given variable + * + * @param string $search + * + * @return \PhpOffice\PhpWord\Template + */ + public function deleteRow($search) { + $block = $this->findContainingXmlBlockForMacro($search, 'w:tr'); + + $this->tempDocumentMainPart= $this->getSlice(0, $block['start']) . $this->getSlice($block['end']); + + return $this; + } + /** * Clone a block. * @@ -584,4 +662,141 @@ protected function getSlice($startPosition, $endPosition = 0) return substr($this->tempDocumentMainPart, $startPosition, ($endPosition - $startPosition)); } + + /** + * Replace an XML block surrounding a macro with a new block + * + * @param string $macro Name of macro + * @param string $block New block content + * @param string $blockType XML tag type of block + * @return \PhpOffice\PhpWord\TemplateProcessor Fluent interface + */ + protected function replaceXmlBlock($macro, $block, $blockType = 'w:p') + { + $where = $this->findContainingXmlBlockForMacro($macro, $blockType); + if (false !== $where) { + $this->tempDocumentMainPart = $this->getSlice(0, $where['start']) . $block . $this->getSlice($where['end']); + } + return $this; + } + + /** + * Find start and end of XML block containing the given macro + * e.g. ...${macro}... + * + * Note that only the first instance of the macro will be found + * + * @param string $macro Name of macro + * @param string $blockType XML tag for block + * @return boolean|integer[] FALSE if not found, otherwise array with start and end + */ + protected function findContainingXmlBlockForMacro($macro, $blockType = 'w:p') + { + $macroPos = $this->findMacro($macro); + if (false === $macroPos) { + return false; + } + + $start = $this->findXmlBlockStart($macroPos, $blockType); + if (false === $start) { + return false; + } + + $end = $this->findXmlBlockEnd($macroPos, $blockType); + if (false === $end) { + return false; + } + + return array('start' => $start, 'end' => $end); + } + + /** + * Find start and end of XML block containing the given block macro + * e.g. ...${macro}...${/macro}... + * + * Note that only the first instance of the macro will be found + * + * @param string $macro Name of macro + * @param string $blockType XML tag for block + * @return boolean|integer[] FALSE if not found, otherwise array with start and end + */ + protected function findContainingXmlBlockForBlockMacro($macro, $blockType = 'w:p') + { + $macroStartPos = $this->findMacro($macro); + if (false === $macroStartPos) { + return false; + } + + $macroEndPos = $this->findMacro('/' . $macro, $macroStartPos); + if (false === $macroEndPos) { + return false; + } + + $start = $this->findXmlBlockStart($macroStartPos, $blockType); + if (false === $start) { + return false; + } + + $end = $this->findXmlBlockEnd($macroEndPos, $blockType); + if (false === $end) { + return false; + } + + return array('start' => $start, 'end' => $end); + } + + /** + * Find the position of (the start of) a macro + * + * Returns false if not found, otherwise position of opening $ + * + * Note that only the first instance of the macro will be found + * + * @param string $search Macro name + * @param string $offset Offset from which to start searching + * + * @return integer|boolean + */ + protected function findMacro($search, $offset = 0) + { + $search = static::ensureMacroCompleted($search); + + return strpos($this->tempDocumentMainPart, $search, $offset); + } + + /** + * Find the start position of the nearest XML block start before $offset + * + * @param integer $offset Search position + * @param string $blockType XML Block tag + * @return integer|boolean FALSE if block start not found + * @throws \PhpOffice\PhpWord\Exception\Exception + */ + protected function findXmlBlockStart($offset, $blockType) + { + // first try XML tag with attributes + $blockStart = strrpos($this->tempDocumentMainPart, '<' . $blockType . ' ', ((strlen($this->tempDocumentMainPart) - $offset) * -1)); + if (false === $blockStart) { + // also try XML tag without attributes + $blockStart = strrpos($this->tempDocumentMainPart, '<' . $blockType . '>', ((strlen($this->tempDocumentMainPart) - $offset) * -1)); + } + return $blockStart; + } + + /** + * Find the nearest block end position after $offset + * + * @param integer $offset Search position + * @param string $blockType XML Block tag + * @return integer|boolean FALSE if block end not found + */ + protected function findXmlBlockEnd($offset, $blockType) + { + $blockEndStart = strpos($this->tempDocumentMainPart, '', $offset); + if (false === $blockEndStart) { + return false; + } + // return position of end of tag + return $blockEndStart + 3 + strlen($blockType); + } } diff --git a/tests/PhpWord/TemplateProcessorTest.php b/tests/PhpWord/TemplateProcessorTest.php index 11b43cf454..2d71f030ae 100644 --- a/tests/PhpWord/TemplateProcessorTest.php +++ b/tests/PhpWord/TemplateProcessorTest.php @@ -223,4 +223,102 @@ public function testCloneDeleteBlock() unlink($docName); $this->assertTrue($docFound); } + + /** + * @covers ::insertTable + * @covers ::saveAs + * @test + */ + public function testInsertTable() + { + $docName = 'table-insert.docx'; + $templateProcessor = new TemplateProcessor(__DIR__ . '/_files/templates/' . $docName); + + $this->assertEquals( + array('myTable', 'otherContent'), + $templateProcessor->getVariables() + ); + + $templateProcessor->insertTable('myTable', array('myCol1#' => 6000, 'myCol2#' => '1in', 'myCol3#' => '72pt')); + $this->assertEquals( + array('myCol1#', 'myCol2#', 'myCol3#', 'otherContent'), + $templateProcessor->getVariables() + ); + $templateProcessor->saveAs($docName); + $docFound = file_exists($docName); + $zip = new ZipArchive(); + $zip->open($docName); + $mainDoc = $zip->getFromName('word/document.xml'); + $zip->close(); + unlink($docName); + $this->assertTrue($docFound); + $this->assertTrue(false !== strpos($mainDoc, '')); + $this->assertTrue(false !== strpos($mainDoc, '${myCol1#}')); + $this->assertTrue(false !== strpos($mainDoc, '${myCol2#}')); + $this->assertTrue(false !== strpos($mainDoc, '${myCol3#}')); + } + + /** + * @covers ::deleteTable + * @covers ::saveAs + * @test + */ + public function testDeleteTable() + { + $docName = 'table-delete.docx'; + $templateProcessor = new TemplateProcessor(__DIR__ . '/_files/templates/' . $docName); + + $this->assertEquals( + array('KEEP_THIS_TABLE', 'DELETE_THIS_TABLE'), + $templateProcessor->getVariables() + ); + + $templateProcessor->deleteTable('DELETE_THIS_TABLE'); + $this->assertEquals( + array('KEEP_THIS_TABLE'), + $templateProcessor->getVariables() + ); + $templateProcessor->saveAs($docName); + $docFound = file_exists($docName); + $zip = new ZipArchive(); + $zip->open($docName); + $mainDoc = $zip->getFromName('word/document.xml'); + $zip->close(); + unlink($docName); + $this->assertTrue($docFound); + $numMatches = preg_match_all('//u', $mainDoc); + $this->assertTrue($numMatches === 1); + } + + /** + * @covers ::deleteRow + * @covers ::saveAs + * @test + */ + public function testDeleteRow() + { + $docName = 'table-delete-row.docx'; + $templateProcessor = new TemplateProcessor(__DIR__ . '/_files/templates/' . $docName); + + $this->assertEquals( + array('KEEP_THE_HEADER', 'DELETE_THIS_ROW', 'RETAIN_THIS_ROW'), + $templateProcessor->getVariables() + ); + + $templateProcessor->deleteRow('DELETE_THIS_ROW'); + $this->assertEquals( + array('KEEP_THE_HEADER', 'RETAIN_THIS_ROW'), + $templateProcessor->getVariables() + ); + $templateProcessor->saveAs($docName); + $docFound = file_exists($docName); + $zip = new ZipArchive(); + $zip->open($docName); + $mainDoc = $zip->getFromName('word/document.xml'); + $zip->close(); + unlink($docName); + $this->assertTrue($docFound); + $numMatches = preg_match_all('/assertTrue($numMatches === 2); + } } diff --git a/tests/PhpWord/_files/templates/table-delete-row.docx b/tests/PhpWord/_files/templates/table-delete-row.docx new file mode 100644 index 0000000000000000000000000000000000000000..738d044d67e239fa576909948964dec783f2ae15 GIT binary patch literal 24842 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�h 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 literal 0 HcmV?d00001 diff --git a/tests/PhpWord/_files/templates/table-delete.docx b/tests/PhpWord/_files/templates/table-delete.docx new file mode 100644 index 0000000000000000000000000000000000000000..203a214e53a1def312e2daa2f10e0471e81dcaa6 GIT binary patch literal 25265 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 literal 0 HcmV?d00001 diff --git a/tests/PhpWord/_files/templates/table-insert.docx b/tests/PhpWord/_files/templates/table-insert.docx new file mode 100644 index 0000000000000000000000000000000000000000..82fd58c885bbeafee4a1814c1b0a670adaa0f7c0 GIT binary patch literal 23808 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 r|M<_ui