【发布时间】:2018-07-19 18:26:50
【问题描述】:
首先,我想为我的英语道歉,我知道我的语法不是最好的,我不是母语人士,所以有时我很难找到合适的词或试图解释我所掌握的东西心里。因此,如果您在理解我想要的内容时遇到问题,请告诉我,我会尽量说得更清楚。
我正在制作一个网络应用程序,后端是用 PHP 制作的。 我需要为带有图表、表格、图片的用户创建某种 pdf 报告,并且我需要它是体面的(质量和风格)
我不知道最好的选择是否是 javascript 库,因为我找到了一些库,但这些库并不是很好看的 pdf。
所以我一直在寻找一个 javascript 库,但似乎没有什么适合我的要求。
我会给你一些图片,以便你更好地了解我想要什么:
- Sales report:这是我能找到的最接近我想要的东西。
- Another sales report 这样的事情
- Invoice我需要一些东西,让我能够为文档做出非常漂亮的设计,类似于这张发票
我真的厌倦了寻找,却一无所获......现在已经快 2 个月了,也许更多。
所以我的第一个想法是使用一个可以将html转换为pdf的javascript库,但是我太天真了,我不知道将html转换为pdf并且不弄乱元素的结构有多难(视觉组织) 我首先尝试了 MrRio 的 jsPDF,但它不支持 css(我真正需要的东西)或图表(如果图表是图片,它工作正常,但如果它们是使用 chartJS 或 highcharts 之类的库生成的,它不会'不工作)。
我尝试了一些类似的插件,但它们都有类似的问题
然后我找到了 jsreport,我在他们的操场上做了一件非常好的事情,而且效果很好。问题是它需要NodeJS,而我的网站是用nodeJS制作的,我不知道是否有办法将jsreport与php一起使用,如果有的话,我不确定它是否会像他们的那样好用操场。 如果有一种仅将nodeJS用于此功能的方法,我只是担心,我不知道不建议这样做还是什么,需要找到更多关于此的信息,idk你们的想法。
Jsreport 可以使用 PhantomJS 等多种配方来生成 PDF
我找到了其他插件,但它们也仅适用于 nodeJS。
这里是jsreport 站点
然后我再次尝试了 jsPDF,但这次与 html2canvas 一起使用它几乎可以正常工作,但质量下降很多,无法选择或复制文本。我设法提高了一点质量,但仅此而已。
我还有其他想法,与浏览器中的打印选项相关,但没有找到任何好的东西。 我不知道是否可行的另一个想法是,它制作某种文档,例如模板,然后以某种方式在该模板中添加用户数据,最终得到一个带有用户数据的 pdf。
Read this,这里有一些相关信息。
所以,我想要这个功能的原因是因为大多数使用我的 Web 应用程序的客户端都需要这个功能。所以我不能将我的应用程序迁移到 Node 或 Rails,因为这需要很长时间,而且我现在没有那个时间,所以我不知道我的选择是什么。该解决方案不需要是免费的,但如果是,那就太好了,因为我没有太多的预算来购买一个非常昂贵的插件。
感谢您阅读我的问题,我真的需要这方面的帮助,所以请告诉我您的所有想法,即使我已经尝试过,每个答案都会受到赞赏,因为也许您可以想出不同的解决方案使用我已经用过的东西。
【问题讨论】:
-
pdfmake.js 是最好的 pdf 生成库。
标签: javascript php pdf-generation jspdf jsreport