2016-07-16 64 views
0

我试图让我的PHPExcel代码通过创建新的“表格”来获取PDF上的多个页面。我有这个例子有所帮助。PHPExcel在PDF上设置多个页面

include_once 'Classes/PHPExcel.php'; 
include_once 'Classes/PHPExcel/IOFactory.php'; 
$rendererName = PHPExcel_Settings::PDF_RENDERER_TCPDF; 
$rendererLibraryPath = dirname(__FILE__).'/tcpdf'; 

$objPHPExcel = new PHPExcel(); 
$objSheetRes = $objPHPExcel->setActiveSheetIndex(0); 

$objSheetRes->setTitle('Title'); 
$objPHPExcel->createSheet()->setTitle('Title 2'); 

$objPHPExcel->getActiveSheet()->setCellValue('A1', 'SHEET 1'); 


if (!PHPExcel_Settings::setPdfRenderer($rendererName,$rendererLibraryPath)) { 
    die('NOTICE: Please set the $rendererName and $rendererLibraryPath values' . 
     '<br />' . 
     'at the top of this script as appropriate for your directory structure'); 
} 

header('Content-Type: application/pdf'); 
header('Content-Disposition: attachment;filename= "example.pdf"'); 
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF'); 
$objWriter->save('php://output'); 
exit; 

感谢您的帮助!

+0

那么,有什么问题的报告? –

+0

嘿!首先谢谢你的回答,并且对于迟到感到抱歉。所以这是问题,当我有这个PDF,我只有一个页面打印时,我把2张以上的新表。 –

+0

您需要单独打印/保存每个工作表 –

回答

0

你实际需要多少例子?

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF'); 
$objWriter->setSheetIndex(1); 
$objWriter->save('php://output'); 

会产生出第二个工作表(片索引为0)

+0

我明白这一点。我不知道该怎么做的唯一的事情就是创建所有的页面,如果我有10张纸,我不想在pdf中创建10个页面,我只是用setSheetIndex() –

+0

获得1个页面那么一个选项将每个文件保存为临时文件,然后将这些文件一起压缩并下载该压缩文件,或使用PDF“拼接器”将它们合并到一个PDF中以供下载 –

+0

我在这方面确实很新,我有点困惑。我明白你的意思。但我唯一想知道的是:“我如何一次创建所有的pdf页面?”我链接你我使用的代码。谢谢[链接](https://fiddle.sencha.com/#fiddle/1dqt) –