59 lines
1.7 KiB
PHP
59 lines
1.7 KiB
PHP
<?php
|
|
include_once 'Sample_Header.php';
|
|
|
|
// New Word document
|
|
echo date('H:i:s'), " Create new PhpWord object", \EOL;
|
|
$phpWord = new \PhpOffice\PhpWord\PhpWord();
|
|
|
|
// Begin code
|
|
$section = $phpWord->addSection();
|
|
|
|
// Define the TOC font style
|
|
$fontStyle = array('spaceAfter'=>60, 'size'=>12);
|
|
|
|
// Add title styles
|
|
$phpWord->addTitleStyle(1, array('size'=>20, 'color'=>'333333', 'bold'=>true));
|
|
$phpWord->addTitleStyle(2, array('size'=>16, 'color'=>'666666'));
|
|
|
|
// Add text elements
|
|
$section->addText('Table of contents:');
|
|
$section->addTextBreak(2);
|
|
|
|
// Add TOC
|
|
$section->addTOC($fontStyle);
|
|
|
|
// Add Titles
|
|
$section->addPageBreak();
|
|
$section->addTitle('I am Title 1', 1);
|
|
$section->addText('Some text...');
|
|
$section->addTextBreak(2);
|
|
|
|
$section->addTitle('I am a Subtitle of Title 1', 2);
|
|
$section->addTextBreak(2);
|
|
$section->addText('Some more text...');
|
|
$section->addTextBreak(2);
|
|
|
|
$section->addTitle('Another Title (Title 2)', 1);
|
|
$section->addText('Some text...');
|
|
$section->addPageBreak();
|
|
$section->addTitle('I am Title 3', 1);
|
|
$section->addText('And more text...');
|
|
$section->addTextBreak(2);
|
|
$section->addTitle('I am a Subtitle of Title 3', 2);
|
|
$section->addText('Again and again, more text...');
|
|
|
|
echo date('H:i:s'), " Note: Please refresh TOC manually.", \EOL;
|
|
// End code
|
|
|
|
// Save file
|
|
$name = basename(__FILE__, '.php');
|
|
$writers = array('Word2007' => 'docx', 'ODText' => 'odt', 'RTF' => 'rtf');
|
|
foreach ($writers as $writer => $extension) {
|
|
echo date('H:i:s'), " Write to {$writer} format", \EOL;
|
|
$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, $writer);
|
|
$xmlWriter->save("{$name}.{$extension}");
|
|
rename("{$name}.{$extension}", "results/{$name}.{$extension}");
|
|
}
|
|
|
|
include_once 'Sample_Footer.php';
|