PHP / HTML表到PDF转换

时间:2015-08-11 20:01:37

标签: php html pdf

所以我试图获得一个带有动态php echo的HTML表格来打印到PDF。但是我有两个不同的div,我想在同一个PDF中打印。

我尝试过关于堆栈溢出的类似问题的多个答案,包括:

  • jspdf
  • TCPDF
  • Zend_pdf
  • 多台PDF打印机
  • FPDF

我也试过这里列出的答案:

到目前为止效果最好的解决方案是这里给出的解决方案:

我面临的问题是,如果我只想要一般的HTML表格,我可以生成PDF,但是它不允许我添加php信息,这是我需要的PDF。此外,如果我尝试添加两个div,即使没有任何PHP,那么报告也不会生成。

任何有关我可以尝试开始的建议都将不胜感激。 如果你想查看代码,我可以在明天提供一个编辑版本,但是对于一般建议我不明白为什么它是必要的。

2 个答案:

答案 0 :(得分:1)

如果您不介意将PDF的生成处理为子流程,我建议您使用webkit无头浏览器进行调查。

Phantom.jswkthmltopdf可以完全满足您的要求,完全没有任何问题,并且与webkit一样支持css。如果有任何帮助,他们也支持javascript。

两者都有PHP包装器与您的应用程序交谈。对于Phantom h ++ p://github.com/kriansa/h2p,对于WK:h ++ p://github.com/mikehaertl/phpwkhtmltopdf,有两个例子,但还有很多其他例子可供使用。

我已经两次都取得了巨大的成功。

所有PDF生成器都需要您使用某种平面HTML结构进行渲染,但您可以通过使用输出控制函数h ++ p://php.net/manual/en/ref.outcontrol.php来解决这个问题。主要是ob_start();和ob_get_clean();将所有PHP / HTML混合输出到可用的html变量中。

很抱歉这些奇怪的链接,编辑器不允许我超过2个实时链接。

答案 1 :(得分:0)

只是为了让您知道,我遇到了这个非常类似的问题,其中使用PHP创建的任何动态内容都不会转换为PDF。有一个非常简单的解决方案。在加载PHP内容后动态创建HTML页面。

例如,使用file_get_contents废弃页面内容,然后将其写入html文件file_put_contents($content, "page-to-convert.html");

完成后,只需在此HTML页面上使用PDF转换器。

转换后,您只需删除该HTML页面即可。这是一个" hacky"过程,但它对我有用。

对于HTML到PDF库,我使用了WKHTMLTOPDF。以下是在Ubuntu上安装它的一些说明。

http://fedir.github.io/web/blog/2013/09/25/install-wkhtmltopdf-on-ubuntu/

祝你好运!