我在使用.pdf
将Excel文件导出为DOMPDF
格式时遇到问题。我正在使用PHPExcel (1.7.9, 2013-06-02)
,TCPDF (6.2.13)
和Dompdf (0.7.0)
。目前Dompdf
的测试是在Win10/Wampserver 3.0
计算机上完成的,但我必须在实时服务器(Apache2.2.22 and PHP5.4.35)
上使用它。如果在测试和实时服务器上按预期(PHPExcel
和TCPDF
使用三年以上,并且最近在测试台上安装了Dompdf
,则所有三个程序包都能正常工作。
此外,我已经能够使用.pdf
和PHPExcel
生成TCPDF
个文件。代码与一些PHPExcel
示例中的代码几乎相同,关键部分如下:
require_once __phpexcel__ . 'PHPExcel.php';
PHPExcel_Settings::setPdfRenderer(PHPExcel_Settings::PDF_RENDERER_TCPDF, __tcpdf__);`
__phpexcel__
和__tcpdf__
是指向PHPExcel.php
和tcpdf.php
所在目录的常量。
PHPExcel+TCPDF
工作正常,但它们会产生一个相当大的.pdf
文件(对于具有UTF-8字符的几个单元格,它们为1.2MB)。
但是,如果我尝试使用.xlsx
转换相同的Dompdf
文件,则会出现问题。在这种情况下,关键代码是
require_once __phpexcel__ . 'PHPExcel.php';
PHPExcel_Settings::setPdfRenderer(PHPExcel_Settings::PDF_RENDERER_DOMPDF, __dompdf__);`
在这种情况下, __dompdf__
是Dompdf
个文件所在的目录
(其中包括:dirs lib
等,autoload.inc.php
)。
我收到的错误是:
致命错误:第36行的 phpexcel \ PHPExcel \ Writer \ PDF \ DomPDF.php中找不到“DOMPDF”类。
检查文件__phpexcel__\PHPExcel\Writer\PDF\DomPDF.php
后,我发现该文件中的第30行是
$pdfRendererClassFile = PHPExcel_Settings::getPdfRendererPath() . '/dompdf_config.inc.php';
并且Dompdf的分发中没有dompdf_config.inc.php
个文件!
将dompdf_config.inc.php
更改为autoload.inc.php
不起作用!
我很困惑,我该怎么办。 PHPExcel
和DOMPDF
网站提供的示例不提供任何答案,或者我无法找到它们。