我生成一个excel 2007文件,并使用mPDF将其输出为PDF。我已经使用PHPExcel示例文件作为起点。我使用xlsx模板文件生成包含图像,一些文本和文本样式的excel文件。
生成的xlsx文件很好。但PDF不是!第一页与其余页面的边距不同(较窄),并且在所有页面上都不均匀。
我在php文件中尝试了不同的东西,生成xlsx(在mPdf之前)。没有什么工作或改变任何东西。所有代码示例都直接来自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);
所以我不知道该怎么做。一些作品,大部分都没有.... 任何帮助将非常感谢!
答案 0 :(得分:0)
页面方向和纸张尺寸应适用于所有PDF编写者;页边距仅由tcPDF编写器支持,而不是由mPDF或DomPDF支持;页面设置功能是MS Excel页面设置功能,并未在PDF编写器中实现。