【问题标题】:How to generate PDF with low memory on the server?如何在服务器上生成内存不足的 PDF?
【发布时间】:2014-07-25 10:42:17
【问题描述】:

我正在将我的 DB 表转换为 PDF,并且我正在使用 TCPDF

首先我必须将我的表格转换为 HTML,然后我可以转换为 PDF,这会使用大量 内存,并且我在服务器上有一些资源(PHP 最大为 256M)。

如何在 PHP 中将可能包含数千条记录的表传递到最大内存为 256M 的 PDF?

我可以逐页创建 PDF 并最终连接所有页面吗?

【问题讨论】:

    标签: php pdf-generation


    【解决方案1】:

    我找到了一种从this链接连接pdf页面的方法。

    require_once("tcpdf/tcpdf.php"); //ur workspaces
    require_once("fpdi/fpdi.php");
    
    
    
    class concat_pdf extends FPDI {
     var $files = array();
     function setFiles($files) {
          $this->files = $files;
     }
     function concat() {
          foreach($this->files AS $file) {
               $pagecount = $this->setSourceFile($file);
               for ($i = 1; $i <= $pagecount; $i++) {
                    $tplidx = $this->ImportPage($i);
                    $s = $this->getTemplatesize($tplidx);
                    $this->AddPage(’P', array($s['w'], $s['h']));
                    $this->useTemplate($tplidx);
               }
          }
     }
    }
    

    【讨论】:

      【解决方案2】:

      您是否尝试过 fpdf (http://www.fdpf.org) 或相关的 mpdf (http://www.mpdf1.com) 作为替代方案?也许他们使用更少的资源,因此可以在您的服务器上运行。他们在创建 HTML 到 PDF 输出方面做得很好。

      【讨论】:

      • 是的,我试过了,我也遇到了同样的问题。我的数据库中有很多记录要放入我的 PDF 文件中。
      • 一次创建一个页面是否是一种选择?我确定有一种工具可以将不同的页面合并到一个文档中
      猜你喜欢
      • 2016-09-11
      • 1970-01-01
      • 2015-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-06
      • 2012-07-05
      • 1970-01-01
      相关资源
      最近更新 更多