使用javascript和/或php生成pdf的更好方法是什么?

时间:2011-11-08 15:14:21

标签: php javascript ajax pdf-generation backbone.js

我有一个网络应用程序,我需要将数据打印成pdf。 在后端我使用php,而在前端是一个javascript MVC框架(backbone.js)。

我不知道是否仅使用javascript生成pdf(..然后使用数据缓存)或使用ajax来调用将生成pdf的php页面...什么是更好的解决方案?

当然,我需要能够打印,保存和使用pdf的样式表。

感谢。

6 个答案:

答案 0 :(得分:5)

我更喜欢mPDF来生成PDF:

您可以使用PHP生成PDF并通过执行AJAX调用来获取它,这是唯一的好方法。当然,在mPDF中,您可以使用CSS设置文档样式。

如果您想使用javascript阅读PDF,请阅读:Open Source Javascript PDF viewer

编辑现在是2016年,mPDF肯定不推荐使用,不推荐使用的软件。有更好的,只需看看GitHub:

PHP:https://github.com/search?l=PHP&o=desc&q=pdf&ref=searchresults&s=stars&type=Repositories&utf8=%E2%9C%93

JavaScript:https://github.com/search?utf8=%E2%9C%93&q=node+pdf&type=Repositories&ref=searchresults

答案 1 :(得分:3)

如果您需要格式化准确,请查看DocRaptor。它们是围绕Prince XML构建的SaaS。

https://docraptor.com/

以下是使用PHP的示例(输出到excel电子表格而不是PDF)

https://docraptor.com/documentation#php_example

<?php

$api_key = "YOUR_API_KEY_HERE";
$url = "https://docraptor.com/docs?user_credentials=$api_key";

$document_content = "<table><tr><td>Cell</td></tr></table>";

$request = new HTTPRequest($url, HTTP_METH_POST);
$request->setPostFields(array('doc[document_content]' => $document_content, 
                              'doc[document_type]'    => 'xls',
                              'doc[name]'             => 'my_doc.xls',
                              'doc[test]'             => 'true'));
$request->send();

$file = fopen ("my_excel_doc.xls", "w"); 
fwrite($file, $request->getResponseBody()); 
fclose ($file);

?>

答案 2 :(得分:1)

您可能希望使用PHP来构建PDF。 不确定是否有任何javascript库可以做这样的事情。正如@ Sn0opy所说,如果很多人正在生成PDF(特别是如果它们很大),这可能会成为服务器问题。 / p>

PHP有许多PDF构建器。我已经成功使用了html2ps和tcpdf。

答案 3 :(得分:1)

有几种纯js解决方案,但它们不是很可靠,不适用于所有浏览器。你可以看看这里:

http://andreasgal.com/2011/06/15/pdf-js/

这是他们很酷的例子: http://mozilla.github.com/pdf.js/web/viewer.html

还有这个项目: http://code.google.com/p/jspdf/

了解限制,如果它们对您的项目来说太多,请使用PHP,就像人们所建议的那样。

如果您知道客户端安装了flash / acrobat插件,您可以在客户端上使用它们来生成PDF,详情请点击此处: http://www.adobe.com/devnet/acrobat.html

答案 4 :(得分:0)

以下是PHP中PDF扩展的PHP手册条目:

http://php.net/manual/en/book.pdf.php

此外,本文还准确说明了在PHP中生成PDF所需要做的事情:

http://www.sitepoint.com/generate-pdfs-php/

答案 5 :(得分:0)

我非常喜欢这个用于php:html2pdf