【问题标题】:PHPExcel 1.7.8 and mPDF: how to configure layout of PDFPHPExcel 1.7.8 和 mPDF:如何配置 PDF 的布局
【发布时间】: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);

所以我不知道该怎么办。有些作品,大多数没有.... 任何帮助将不胜感激!

【问题讨论】:

    标签: phpexcel mpdf


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多