PHPExcel 1.7.8和mPDF:如何配置PDF的布局

时间:2013-12-05 12:09:34

标签: phpexcel mpdf

我生成一个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);

所以我不知道该怎么做。一些作品,大部分都没有.... 任何帮助将非常感谢!

1 个答案:

答案 0 :(得分:0)

页面方向和纸张尺寸应适用于所有PDF编写者;页边距仅由tcPDF编写器支持,而不是由mPDF或DomPDF支持;页面设置功能是MS Excel页面设置功能,并未在PDF编写器中实现。