【问题标题】:HTML2FPDF print page results as pdfHTML2FPDF 将页面结果打印为 pdf
【发布时间】:2009-11-11 02:15:58
【问题描述】:

我正在尝试使用 HTML2FPDF (http://html2fpdf.sourceforge.net/) 创建页面的 PDF,但我似乎无法使其正常工作。

我的页面包含 jQuery 来显示图表。我希望将页面上的图表和其他文本导出为 PDF。

http://portal.flyingstartlifestyle.360southclients.com/leanne/leanne.php

HTML2FPDF 代码:

function createPDF() {

 define('ABSPATH', dirname(__FILE__).'/');

 require(ABSPATH.'classes/pdf/html2fpdf.php');

 $pdf = new HTML2FPDF();
 $pdf->AddPage();

 $html = ob_get_contents();
 //$html = htmlspecialchars($html);

 if ($html) {

  $fileName = "testing.pdf";

  $pdf->WriteHTML($html);
  $pdf->Output("pdfs/".$fileName);

  echo "<p>PDF file is generated successfully! <a href=\"pdfs/$fileName\" target=\"_blank\">Click here</a> to open it.</p>";

 } else {

  echo "<p>There has been an error in creating your PDF.</p>";

 };


};

如果我取消隐藏“$html = htmlspecialchars($html);”行它将pdf打印为页面的文本,否则它会创建一个空的PDF。有什么想法可以将我的图表转换为 PDF 吗?

干杯

【问题讨论】:

    标签: php pdf-generation


    【解决方案1】:

    几年前,我一直在努力将 HTML 转换为 PDF 好几天。我想做的很简单——将客户的发票制作成 PDF 文件。顶部的图像(徽标)、几个段落和一个包含费用列表的表格。

    墙上那个形状像我头的洞还在。所有将内容转换为 PDF 的免费库 - 它们都很糟糕。我找到了一个最糟糕的,它是 DomPDF。经过一周的痛苦和调试,至少那个人最终完成了这项工作。不过,它无论如何都不是很快(如果你想生成一个复杂的 PDF,你可能想在线程外进行)。

    【讨论】:

      【解决方案2】:

      我的页面由 jQuery 组成以显示图表。我希望将页面上的图表和其他文本导出为 PDF。

      jQuery 由浏览器而非服务器解释。当您发送要呈现为 PDF 的 HTML 时,它不会运行 Javascript。您需要找到一种以其他方式实际生成图像的方法。

      【讨论】:

        【解决方案3】:

        我想我可以看到一种情况,您可以使用 ajax 进行远程调用并发送 js 看到的所有 html。

        然后远程调用将写入该 html 的文件。远程调用将返回一个文件名,以便生成 pdf。

        然后,您的 js 可以提供指向 html2pdf 处理页面的链接,该页面引用从远程调用创建的文件。

        这可行,但可能有点多。

        问候。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-04-11
          • 2011-08-31
          • 2013-02-08
          • 2016-09-09
          • 1970-01-01
          • 1970-01-01
          • 2021-09-27
          相关资源
          最近更新 更多