0

如果您对此主题有所了解,请发表评论。我正在尝试使用 phpoffice/word 从 docx 获取 pdf 文件。但我不能让它成为现实,因为一整天的测试我只得到这个错误:

PHP Fatal error:  Uncaught exception 'PhpOffice\PhpWord\Exception\Exception' with message 'PDF rendering library or library path has not been defined.

请不要告诉我在 www 中查看这个问题,我试过了 - 没有任何帮助。我的代码:

require './vendor/autoload.php';
require './vendor/phpoffice/phpword/bootstrap.php';
$filename = 'example';
echo PHPWORD_BASE_DIR . '/TCPDF-master';
$wordPdf = \PhpOffice\PhpWord\IOFactory::load("./file_to_fill/ДКП квартира физики.docx");
$rendererName = \PhpOffice\PhpWord\Settings::PDF_RENDERER_TCPDF;
$rendererLibrary = 'TCPDF';
$rendererLibraryPath = dirname(__FILE__).'/'. $rendererLibrary;
\PhpOffice\PhpWord\Settings::setPdfRendererPath($rendererLibraryPath);
\PhpOffice\PhpWord\Settings::setPdfRendererName('TCPDF');

$pdfWriter = \PhpOffice\PhpWord\IOFactory::createWriter($wordPdf , 'PDF');
if (file_exists($filename.".pdf")) unlink($filename.".pdf");
$pdfWriter->save($filename.".pdf"); 

我知道我的问题是库,但我真的不明白这个库的文件在哪里。可能是因为今天我第一次尝试与作曲家合作。我尝试了不同的库,例如 dompdf 和 TCPDF,我也尝试了其他库。所以如果你有任何想法欢迎。=)

4

1 回答 1

0

因此,经过数小时的搜索和测试,我得到了工作代码。可能我不仅仅是一个需要这个。对于 TCPDF 库:

define('PHPWORD_BASE_DIR', realpath(__DIR__));    
require './vendor/autoload.php';
require './TCPDF-master/tcpdf.php';
$PdfPath = realpath(PHPWORD_BASE_DIR . '/TCPDF-master');
\PhpOffice\PhpWord\Settings::setPdfRendererPath($PdfPath);
\PhpOffice\PhpWord\Settings::setPdfRendererName('TCPDF');
$phpWord = \PhpOffice\PhpWord\IOFactory::load('yourtemplate.docx');
$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord , 'PDF');
$xmlWriter->save('result.pdf');

对于 mpdf 库:

define('PHPWORD_BASE_DIR', realpath(__DIR__));
require './vendor/autoload.php';
require './vendor/mpdf/mpdf/mpdf.php';
$PdfPath = realpath(PHPWORD_BASE_DIR . '/vendor/mpdf/mpdf');
\PhpOffice\PhpWord\Settings::setPdfRendererPath($PdfPath);
\PhpOffice\PhpWord\Settings::setPdfRendererName('MPDF');
$phpWord = \PhpOffice\PhpWord\IOFactory::load('temp.docx');
$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord , 'PDF');
$xmlWriter->save('result.pdf');  

但是domPDF根本不起作用(所以这两个库工作但不好,当我输入俄语文本时,其中一个给我“???”。而且它们都在文档中提供了很多不同的可用空间(可能是保证金)。我不明白如何编辑它。

于 2016-10-17T11:35:31.050 回答