Answers:
我刚刚编写了一个名为jsPDF的库,该库仅使用Javascript 即可生成PDF。它仍然很年轻,我将很快添加功能和错误修复。还为不支持数据URI的浏览器中的解决方法提供了一些建议。它是根据MIT的宽松许可证获得许可的。
在开始写这个问题之前,我遇到了这个问题,并以为我会回来告诉你:)
示例创建一个“ Hello World” PDF文件。
// Default export is a4 paper, portrait, using milimeters for units
var doc = new jsPDF()
doc.text('Hello world!', 10, 10)
doc.save('a4.pdf')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.debug.js"></script>
另一个值得一提的javascript库是pdfmake。
浏览器支持似乎不如jsPDF强大,似乎也没有形状选项,但是与jsPDF当前可用的选项相比,用于格式化文本的选项更高级。
我维护PDFKit,它也为pdfmake提供支持(已经在此处提到)。它可以在Node和浏览器中运行,并且支持其他库无法提供的许多功能:
查看http://pdfkit.org/以获得完整的教程,亲自了解PDFKit可以做什么。并举例说明可以生成哪些类型的文档,请使用PDFKit本身从某些Markdown文件生成的PDF格式签出文档:http ://pdfkit.org/docs/guide.pdf 。
您也可以在以下浏览器中以交互方式进行尝试:http : //pdfkit.org/demo/browser.html。
您可以通过添加一个从任何URL创建pdf的链接(例如http://www.phys.org)来使用此免费服务:
即使可以使用JavaScript生成PDF内存中的内存,也仍然存在如何将数据传输给用户的问题。JavaScript很难仅向用户推送文件。
为了将文件提供给用户,您需要进行服务器提交,以使浏览器显示保存对话框。
话虽如此,生成PDF确实并不难。只需阅读规格。