PHPOffice / PHPWord

A pure PHP library for reading and writing word processing documents
https://phpoffice.github.io/PHPWord/
Other
7.22k stars 2.69k forks source link

Loading document with TOC: BadMethodCallException (Cannot add PreserveText in Section.) #501

Open lorenzadefanti opened 9 years ago

lorenzadefanti commented 9 years ago

Hello,

I'm generating a docx document from HTML with a table of contents. The docx document is saved correctly, but when I try to generate a PDF from this docx, it doesn't work.

Generating the docx:

$phpWord = new PhpWord();

$titleSection = $phpWord->addSection();
Html::addHtml($titleSection, 'some title text');
$titleSection->addPageBreak();
$titleSection->addTitle('');
$titleSection->addTOC();

foreach ($stepContents as $stepContent) {
    $section = $phpWord->addSection();
    $footer = $section->addFooter();
    $footer->addPreserveText('p. {PAGE}');
    $html = $stepContent->getValue();
   Html::addHtml($section, $html);
}

Saving the docx:

$fileDir = "/tmp/";
$fileName = "filename.docx";
$file = $fileDir . $fileName;

$phpWord->save($file, "Word2007");

Generating the pdf:

if ($format == "pdf") {
    Settings::setPdfRenderer(Settings::PDF_RENDERER_TCPDF, './vendor/tecnick.com/tcpdf');

    $pdfPhpWord = IOFactory::load($file);

    $pdfFileName = "filename.pdf";
    $pdfFile = $fileDir . $pdfFileName;

    $pdfWriter = IOFactory::createWriter($pdfPhpWord, 'PDF');
    $pdfWriter->save($pdfFile, 'PDF');

    $content = file_get_contents($pdfFile);
}

This line: $pdfPhpWord = IOFactory::load($file); produces an error, independently of which PDF-Renderer I choose (I've tried with dompdf and mpdf too).

load error

If I delete the TOC-line, I can generate the PDF correctly.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/9624951-loading-document-with-toc-badmethodcallexception-cannot-add-preservetext-in-section?utm_campaign=plugin&utm_content=tracker%2F323108&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F323108&utm_medium=issues&utm_source=github).
github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If this is still an issue for you, please try to help by debugging it further and sharing your results. Thank you for your contributions.