【发布时间】:2016-08-27 13:58:44
【问题描述】:
我有 3 个用 HTML 编写的 Blade 文件,我目前正在使用 WKHTMLTOPDF 将它们导出为 PDF 格式,我现在想将相同的 HTML 文件导出为 Word 文档。
到目前为止,我能找到的最好的 Laravel 包是 PhpWord。
代码片段:
<div class="page-break"></div>
<h3>Introduction</h3>
<p></p>
<p></p>
到目前为止我的代码:
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$section = $phpWord->addSection();
$report = view('reports.audit-report', $data)->render();
\PhpOffice\PhpWord\Shared\Html::addHtml($section, $report, true);
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('helloWorld.docx');
目前正在返回此错误:
DOMDocument::loadXML():开始和结束标记不匹配:链接第 1 行 和实体中的 div,行:1
烦人的是,无论我删除哪一行,该错误始终存在,直到我从字面上删除 HTML 的每一行!
我可以通过使用以下代码来防止此错误发生:
libxml_use_internal_errors(true);
然后,它返回:
Html.php 第 136 行中的 ErrorException:试图获取非对象的属性
以前有没有人成功解决过这些错误?如果您需要更多代码,请告诉我。非常感谢。
【问题讨论】:
-
只是出于好奇,问题可能是没有容器标签吗?即一个
-
我的 HTML 文件没有 标签,但是,我刚刚添加了它们并返回相同的错误。
标签: php xml laravel laravel-5 phpword