在尝试使用 PHPExcel 1.7.6(内存不足错误)生成 PDF 失败后,我升级到 1.7.8。我无法为我的生活弄清楚如何让它工作。我试过 tcPDF 和 mPDF,两者都是一样的。
将其放回 Excel 输出,我可以看到我正在正确设置路径。我所能得到的只是“尚未定义 PDF 渲染库”,我无法弄清楚它想要什么 - 我试过 'mPDF5.4'、'MPDF54'(文件夹本身的实际名称)、' mpdf'、'mpdf.php'...每次都一样。
我已经使用 PHPExcel 一年多了,所以我对它并不陌生。我在这个问题上浪费的时间比我愿意承认的要多,而且我还没有发现任何地方描述过这个问题,所以我觉得有点愚蠢,我似乎是唯一一个无法理解的人这个出来。
我正在使用的实际代码如下:
ini_set('include_path', ini_get('include_path').'\\Classes\\');
$rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF;
$rendererLibrary = 'mPDF5.4';
$rendererLibraryPath = ini_get('include_path') . $rendererLibrary;
(也就是说,很好地复制了示例代码。)
为了完整起见,我使用的标题是
echo header("Content-Type: application/pdf");
echo header("Content-Disposition: attachment; filename=".$filename.".pdf" );
echo header('Cache-Control: max-age=0');
这些自然而然地位于文件顶部附近。
在文件末尾附近,输出代码是
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');
$objWriter->save('php://output');