【问题标题】:Spinning PDF's by passing a URL and $_GET parameters?通过传递 URL 和 $_GET 参数来旋转 PDF?
【发布时间】:2009-05-12 18:09:10
【问题描述】:

我花了很多时间试图让 dompdf (http://www.digitaljunkies.ca/dompdf/) 工作,但我一直遇到问题。我正在尝试从一个 PHP 脚本生成一个 PDF,该脚本会生成一个相当复杂的填写好的 Web 表单。该脚本接受 $_GET 参数(记录号)并使用数据库中的数据相应地填写表单。将这些数据作为字符串或任何类型的值放入脚本中没有问题。我想知道将这种类型的数据转换为 PDF 的最佳方法是什么?

流程如下:用户填写表单并进入确认页面,我想添加一个“另存为 PDF”按钮。此时可能会发生以下两种情况之一,当前正在浏览器中显示的页面可以直接转为 pdf,或者可以使用 PHP 的 http_get( ) 函数并将 HTML 存储为字符串。从那里我在准备准确的 PDF 表示时遇到问题。

我听说过一些关于 fpdf 的讨论,但他们的例子并没有真正让我相信您可以使用动态数据作为源,但如果我对此有误,请纠正我。

我们将不胜感激。

-- 尼古拉斯

【问题讨论】:

    标签: php pdf pdf-generation


    【解决方案1】:

    好吧,我不知道 dompdf。奇怪的是,它使用了商业图书馆 (PDFlib) 或过时的 (?) 图书馆(CPDF,3 年未更新)。但是,只要它有效(这个概念很有趣)。

    我不明白您所说的“使用动态数据作为源”是什么意思(或者更确切地说,我认为生成静态 PDF 没有意义!),但 FPDF 用于生成各种动态文档,例如电子发票商务产品。不过,我看到人们使用分叉(例如 TCPDF)来处理 Unicode 数据。

    您无法使用 FPDF 将 HTML 页面转换为 PDF,但您可以使用带有数据的单元格概念对布局进行非常精确的控制。
    你可以在那里看到这样的代码:http://svn.prestashop.com/trunk/classes/PDF.php

    【讨论】:

      【解决方案2】:

      在过去遇到这个问题时,我使用 FPDF 在 PDF 模板上放置数据。然后,通过设置适当的 HTTP 标头,强制浏览器弹出“下载/另存为”框,以便用户保存所述 PDF。

      在适当扩展 FPDF/FPDI 的类中,使用以下内容从您已创建的模板 PDF (http://www.setasign.de/products/pdf-php-solutions/fpdi/) 生成 PDF:

      $this->setSourceFile('pdf_template.pdf');
      $template_page = $this->importPage(1, '/MediaBox');
      $this->useTemplate($template_page, 0, 0);
      

      然后,让 FPDF 生成用于输出的 PDF:

      $this->Output();
      

      您还可以使用此处找到的脚本扩展 FPDF 以接受(有限的)HTML 格式:http://www.fpdf.org/en/script/script41.php

      【讨论】:

        猜你喜欢
        • 2022-01-22
        • 2019-10-22
        • 2014-05-22
        • 1970-01-01
        • 2023-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多