我是编程新手,我正在努力。到目前为止,我可以安装PHPExcel,并可以创建一个包含内容的.xls文件,它工作正常。
我现在要做的是将一些内容放在PDF文件中,但没有成功。
错误说我应该设置$ renderName和$ renderNameLibrary,我这样做..所以我不明白我做错了什么。
我使用Codeigniter,因此我将PHPExcel文件夹复制到site / application / third_party /文件夹中,并将文件PHPExcel.php复制到third_party中。
然后在site / application / libraries / i中包含此文件:pdf.php 这是该文件包含的片段:
require_once APPPATH."/third_party/PHPExcel/IOFactory.php";
$rendererName = PHPExcel_Settings::PDF_RENDERER_DOMPDF;
$rendererLibrary = 'dompdf';
$rendererLibraryPath = dirname(__FILE__).'/libraries/dompdf' . $rendererLibrary;
我在libraries / dompdf中安装了最新的dompdf版本
是dompdf.php我应该为$ rendererLibrary设置的文件吗?
IOFactory.php所在的路径是:site / application / third_party / PHPExcel / IOFactory.php
在我的 admin.php 上我已经创建了这个函数,以便测试pdf是否正常工作(使用phpexcel文档中的示例01simple-download-pdf.php): / p>
public function exportToPdf(){
$this->load->library('pdf');
$this->pdf->getProperties()->setCreator("Maarten Balliauw")
->setLastModifiedBy("Maarten Balliauw")
->setTitle("PDF Test Document")
->setSubject("PDF Test Document")
->setDescription("Test document for PDF, generated using PHP classes.")
->setKeywords("pdf php")
->setCategory("Test result file");
$this->pdf->setActiveSheetIndex(0)
->setCellValue('A1', 'Hello')
->setCellValue('B2', 'world!')
->setCellValue('C1', 'Hello')
->setCellValue('D2', 'world!');
$filename=$rDate.'_Reporte_Usuarios_front'.'.pdf';
header('Content-Type: application/pdf');
header('Content-Disposition: attachment;filename="'.$filename.'"'); //tell browser what's the file name
header('Cache-Control: max-age=0'); //no cache
// $objWriter = new PHPExcel_Writer_PDF($objPHPExcel);
$objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'PDF');
$objWriter->setSheetIndex(0);
$objWriter->save('php://output');
}
我真的不知道错误在哪里,有人可以帮助我吗?
最后编辑: 2013年12月12日
答案 0 :(得分:0)
$ rendererLibraryPath值必须是实际tcPDF库的路径,而不是PHPExcel的包装文件....
PHPExcel能够找到自己的包装文件,但不知道您的服务器上安装了tcPDF库