【发布时间】:2015-01-02 05:43:08
【问题描述】:
我在使用 PHP 在 Chrome 中读取由 PHPExcel 库生成的 pdf 文件时遇到问题。它可以在 Firefox 中正常工作,但不能在 chrome 中工作。请帮帮我
以下代码是我在PHP中的做法
require_once 'PHPExcel.php';
$rendererName = PHPExcel_Settings::PDF_RENDERER_DOMPDF;
$rendererLibrary = 'dompdf';
$objPHPExcel = new PHPExcel();
// set the paper size and the paper view style
$objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);
$objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
// make cell content text-align center
$objPHPExcel->getDefaultStyle()
->getAlignment()
->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
// border for all cells
$styleArray = array(
'borders' => array(
'allborders' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN
)
)
);
$objPHPExcel->getDefaultStyle()->applyFromArray($styleArray);
// Set document properties
$objPHPExcel->getProperties()->setCreator("Occasional Riot")
->setLastModifiedBy("Occasional Riot")
->setTitle("Interest Area Document")
->setSubject("Interest Area List")
->setDescription("The list of the Interest Area")
->setKeywords("office 2007 openxml php")
->setCategory("Interest Area file");
foreach(range('B','F') as $columnID) {
$objPHPExcel->getActiveSheet()->getColumnDimension($columnID)
->setAutoSize(true);
}
// Add some data
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'Social')
->setCellValue('H2', 'Venue');
$objPHPExcel->setActiveSheetIndex(0)->mergeCells('A1:B1');
$objPHPExcel->getActiveSheet()->getStyle("A1")->getFont()->setBold(true);
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'
);
}
// Redirect output to a client’s web browser (PDF)
header('Content-Type: application/pdf');
header('Content-Disposition: attachment;filename="Interest Area.pdf"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');
$objWriter->writeAllSheets();
$objWriter->save('php://output');
$objWriter->save('interest.pdf');
readfile("interest.pdf");
exit;
【问题讨论】:
-
您可以发布 chrome 错误消息吗?您可以使用开发者控制台检查它
-
@rajeshujade : 控制台消息为空.. 在整个页面中它打印“加载 PDF 文档失败”消息
-
@告诉我PHPExcel库版本?
-
PHPExcel库版本为1.7.9
标签: php google-chrome pdf pdf-generation phpexcel