我有一个网络应用程序,我需要将数据打印成pdf。 在后端我使用php,而在前端是一个javascript MVC框架(backbone.js)。
我不知道是否仅使用javascript生成pdf(..然后使用数据缓存)或使用ajax来调用将生成pdf的php页面...什么是更好的解决方案?
当然,我需要能够打印,保存和使用pdf的样式表。
感谢。
答案 0 :(得分:5)
我更喜欢mPDF来生成PDF:
您可以使用PHP生成PDF并通过执行AJAX调用来获取它,这是唯一的好方法。当然,在mPDF中,您可以使用CSS设置文档样式。
如果您想使用javascript阅读PDF,请阅读:Open Source Javascript PDF viewer
编辑现在是2016年,mPDF肯定不推荐使用,不推荐使用的软件。有更好的,只需看看GitHub:
JavaScript:https://github.com/search?utf8=%E2%9C%93&q=node+pdf&type=Repositories&ref=searchresults
答案 1 :(得分:3)
如果您需要格式化准确,请查看DocRaptor。它们是围绕Prince XML构建的SaaS。
以下是使用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)
答案 5 :(得分:0)
我非常喜欢这个用于php:html2pdf