我一整天都在努力让它发挥作用。现在我可以将文档另存为 .docx 文件,但我希望能够将文档另存为 PDF 我已尝试使用 DOMPDF 和 TCPDF,但我不断收到错误“无法加载 PDF 库”我确认路径是正确的。我错过了什么吗?感谢您的帮助
$rendererName = \PhpOffice\PhpWord\Settings::PDF_RENDERER_TCPDF;
$rendererLibrary = 'tcpdf.php';
$rendererLibraryPath = dirname(__FILE__) .'/plugins/tcpdf/' . $rendererLibrary;
\PhpOffice\PhpWord\Settings::setPdfRenderer($rendererName,$rendererLibraryPath);
$document->saveAs('temp.docx'); // Save to temp file
$test = \PhpOffice\PhpWord\IOFactory::load('temp.docx'); // Read the temp file
$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($test, 'PDF');
$xmlWriter->save('result.pdf'); // Save to PDF
unlink('temp.docx'); // Delete the temp file
这是引发错误的代码
public function __construct(PhpWord $phpWord)
{
parent::__construct($phpWord);
$includeFile = Settings::getPdfRendererPath() . '/' . $this->includeFile;
if (file_exists($includeFile)) {
/** @noinspection PhpIncludeInspection Dynamic includes */
require_once $includeFile;
} else {
// @codeCoverageIgnoreStart
// Can't find any test case. Uncomment when found.
throw new Exception('Unable to load PDF Rendering library');
// @codeCoverageIgnoreEnd
}
}
这是完整的错误
致命错误:未捕获异常“PhpOffice\PhpWord\Exception\Exception”,消息“无法加载 PDF 渲染库”
.../PHPWord/Writer/PDF/AbstractRenderer.php:92 堆栈跟踪:#0 .../PHPWord/Writer/PDF.php(61): PhpOffice\PhpWord\Writer\PDF\AbstractRenderer->__construct(Object( PhpOffice\PhpWord\PhpWord)) #1 .../PHPWord/IOFactory.php(34): PhpOffice\PhpWord\Writer\PDF->__construct(Object(PhpOffice\PhpWord\PhpWord)) #2 .../download_report. php(578): PhpOffice\PhpWord\IOFactory::createWriter(Object(PhpOffice\PhpWord\PhpWord), 'PDF') #3 {main} 在第 92 行的 .../PHPWord/Writer/PDF/AbstractRenderer.php 中抛出
知道了这些,我猜答案正在改变:
$includeFile = Settings::getPdfRendererPath() . '/' . $this->includeFile;
to
$includeFile = Settings::getPdfRendererPath();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)