当我不使用PHPExcel将文件另存为PDF时出错

时间:2016-05-01 01:36:46

标签: php pdf pdf-generation phpexcel

我在我的项目中使用PHPExcel库,当我不保存文件格式(xls / xlsx)时,它的工作正常。但我需要将文件保存为PDF格式,我找到了一些例子,但没有一个能为我工作。 这里是用于生成pdf格式文件的代码

<?php

error_reporting(E_ALL);

ini_set('include_path', ini_get('include_path').';../Classes/');

include 'PHPExcel/Classes/PHPExcel/IOFactory.php';

    $inputFileName = 'file.xls';

        try {
               $inputFileType = PHPExcel_IOFactory::identify($inputFileName);
               $objReader = PHPExcel_IOFactory::createReader($inputFileType);
               $objPHPExcel = $objReader->load($inputFileName);
        } catch(Exception $e) {
               die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
        }

$objPHPExcel->setActiveSheetIndex(0);
$row = $objPHPExcel->getActiveSheet()->getHighestRow()+1;

        $sheet = $objPHPExcel->getSheet(0); 
        $highestRow = $sheet->getHighestRow(); 
        $highestColumn = $sheet->getHighestColumn();

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');

$objSheet = $objPHPExcel->getActiveSheet();

$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'test test');

$objWriter->save('test100.pdf');

?>

以及浏览器向我显示的内容

( ! ) Fatal error: Uncaught exception 'PHPExcel_Writer_Exception' with message 'PDF Rendering library has not been defined.' in C:\wamp\www\projet\PHPExcel\Classes\PHPExcel\Writer\PDF.php on line 56

我做错了什么

1 个答案:

答案 0 :(得分:0)

PHPExcel没有内置的PDF渲染库作为代码/发行版的一部分。相反,它允许您使用3个不同的第三方PDF库(tcPDF,DomPDF或mPDF)中的任何一个。

您必须单独安装该PDF渲染库,然后您需要告诉PHPExcel您已安装哪个PDF库,然后才能将文件另存为PDF。

这在PHPExcel documentation中进行了解释,并在示例中显示,如21pdf.php