addSection(); // Define the TOC font style $fontStyle = array('spaceAfter' => 60, 'size' => 12); $fontStyle2 = array('size' => 10); // Add title styles $phpWord->addTitleStyle(1, array('size' => 20, 'color' => '333333', 'bold' => true)); $phpWord->addTitleStyle(2, array('size' => 16, 'color' => '666666')); $phpWord->addTitleStyle(3, array('size' => 14, 'italic' => true)); $phpWord->addTitleStyle(4, array('size' => 12)); // Add text elements $section->addText(htmlspecialchars('Table of contents 1')); $section->addTextBreak(2); // Add TOC #1 $toc = $section->addTOC($fontStyle); $section->addTextBreak(2); // Filler $section->addText(htmlspecialchars('Text between TOC')); $section->addTextBreak(2); // Add TOC #1 $section->addText(htmlspecialchars('Table of contents 2')); $section->addTextBreak(2); $toc2 = $section->addTOC($fontStyle2); $toc2->setMinDepth(2); $toc2->setMaxDepth(3); // Add Titles $section->addPageBreak(); $section->addTitle(htmlspecialchars('Foo & Bar'), 1); $section->addText(htmlspecialchars('Some text...')); $section->addTextBreak(2); $section->addTitle(htmlspecialchars('I am a Subtitle of Title 1'), 2); $section->addTextBreak(2); $section->addText(htmlspecialchars('Some more text...')); $section->addTextBreak(2); $section->addTitle(htmlspecialchars('Another Title (Title 2)'), 1); $section->addText(htmlspecialchars('Some text...')); $section->addPageBreak(); $section->addTitle(htmlspecialchars('I am Title 3'), 1); $section->addText(htmlspecialchars('And more text...')); $section->addTextBreak(2); $section->addTitle(htmlspecialchars('I am a Subtitle of Title 3'), 2); $section->addText(htmlspecialchars('Again and again, more text...')); $section->addTitle(htmlspecialchars('Subtitle 3.1.1'), 3); $section->addText(htmlspecialchars('Text')); $section->addTitle(htmlspecialchars('Subtitle 3.1.1.1'), 4); $section->addText(htmlspecialchars('Text')); $section->addTitle(htmlspecialchars('Subtitle 3.1.1.2'), 4); $section->addText(htmlspecialchars('Text')); $section->addTitle(htmlspecialchars('Subtitle 3.1.2'), 3); $section->addText(htmlspecialchars('Text')); echo date('H:i:s'), ' Note: Please refresh TOC manually.', EOL; // Save file echo write($phpWord, basename(__FILE__, '.php'), $writers); if (!CLI) { include_once 'Sample_Footer.php'; }