任何从事这类工作的人都可以描述一般过程吗?我现在很困惑。根据报告,我的意思是具有徽标,表格,页眉和页脚的视觉上吸引人的文档,并且将动态检索数据。
我看到的方法是:
使用生成PDF的服务器端库(node.js模块)。使用Content-Type: application/pdf
将字符串表示作为响应发送。
问题:我选择了PDFKit,但它不起作用,根本没有内容显示。它使用PDF 1.3,这是旧的。
在客户端生成PDF。 问题:最流行的图书馆似乎是jsPDF,但它不能很好地制作复杂的文档。
在PDF源代码中编写模板并填写服务器端的数据。
问题:编码很奇怪,例如,如果我只做doc.text("1")
,那么只有字符串“1”会出现很多无法识别的字符。我对此非常困惑。
最后,如果有人提供可以帮助我理解编码的链接,那将会非常有用!这让我感到非常困惑。
非常感谢任何有类似任务的经验!
答案 0 :(得分:15)
我个人没有这样做,但我会尝试的第一件事就是:
如果您正在努力处理内容类型,内容处理等问题,那么如果您在磁盘上有一个有效的pdf文件并且只是将该数据写入HTTP响应,则不必担心这一点。使用正确的标题,您应该能够要求浏览器显示PDF或将其视为要保存为下载的文件。
答案 1 :(得分:9)
作为jsreport团队的成员,我会试一试。
jsreport平台提供了多种生成pdf报告的方法。最常见的包括使用phantomjs将html转换为pdf。如果指定的话,jsreport还会编译和渲染把手或jsrender html模板,它可以嵌入图像,添加页眉/页脚,运行自定义javascripts等等。
您可以使用" Hello World Phantom Pdf"示例并查看您拥有的选项 https://playground.jsreport.net
完成游戏后,您可以将jsreport online或download and install jsreport服务器用于您的公司。然后,您就可以调用其REST API并生成报告。
更多问题
答案 2 :(得分:3)
我不确定最常用的方法是什么,但我个人喜欢创建一个HTML模板,在我的服务器端代码中填充它,然后使用wkhtmltopdf将HTML转换为PDF。如果您使用的是.NET,则应该查看WkHtmlToXSharp(这是wkhtmltopdf的.NET包装器。)