【发布时间】:2013-12-05 12:09:34
【问题描述】:
我生成了一个 excel 2007 文件并使用 mPDF 将其输出为 PDF。我使用 PHPExcel 示例文件作为起点。我使用 xlsx 模板文件来生成包含图像、一些文本和文本样式的 excel 文件。
生成的 xlsx 文件很好。但PDF不是!第一页的页边距与其余页不同(较窄),并且在所有页面上都不均匀。
我在生成 xlsx(在 mPdf 之前)的 php 文件中尝试了不同的东西。没有任何工作或改变任何东西。所有代码示例均直接取自 PHPExcel 文档:
// doesnt work!
$objPHPExcel->getActiveSheet()->getPageMargins()->setTop(0.1);
$objPHPExcel->getActiveSheet()->getPageMargins()->setRight(0.1);
$objPHPExcel->getActiveSheet()->getPageMargins()->setLeft(0.1);
$objPHPExcel->getActiveSheet()->getPageMargins()->setBottom(0.1);
// doesnt work!
$objPHPExcel->getActiveSheet()->getPageSetup()->setFitToWidth(1);
$objPHPExcel->getActiveSheet()->getPageSetup()->setFitToHeight(0);
// doesnt work!
$objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);
$objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
因此,这一切都不会改变或实现它所承诺的。
我可以做点什么:
// works!
$objPHPExcel->setActiveSheetIndex(0)->setShowGridlines(false);
// works!
$objPHPExcel->getActiveSheet()->getStyle('A1:'
. $objPHPExcel->getActiveSheet()->getHighestColumn()
. $objPHPExcel->getActiveSheet()->getHighestRow())->getFont()->setSize(9);
我还尝试在 Classes/PHPExcel/Writer/PDF/mpdf.php 中配置布局:
// doesnt work!
$paperSize = 'A4';
// doesnt work!
$pdf = new mPDF('win-1252', 'A4', 8, 'DejaVuSansCondensed', 15, 15, 15, 15, 8, 8);
所以我不知道该怎么办。有些作品,大多数没有.... 任何帮助将不胜感激!
【问题讨论】: