如何使用ITEXT或PDFCROWD API将HTML页面转换为PDF
创建的PDF将基于动态HTML页面。如何使用ITEXT或PDFCROWD API将HTML页面转换为PDF
使用带有XMLWORKERHELPERCLASS的ITEXT 5或7将是一个漫长的过程。
如果我使用的是pdfcrowd API,它似乎是好的,但无法在localhost或任何其他私有IP上生成。如果他们达到上述目的,我准备为他们的服务付费。
首先,您需要获取iText 7(核心库)和pdfHtml插件(将解析HTML + CSS并将其转换为iText对象的部分)。去github找出如何下载这些。
假设你有这样的HTML:
有了这个对应CSS:
然后你可以使用此代码段:
ConverterProperties converterProperties =
new ConverterProperties().setBaseUri(resoureLocation);
HtmlConverter.convertToPdf(
new FileInputStream(HTMLSource),
new FileOutputStream(pdfDestination), converterProperties);
其中resourceLocation
指向您的基本URI,HTMLSource
是HTML文件的路径,pdfDestination
是您希望写入结果PDF的路径。
当你执行这个代码,你将得到以下PDF:
请注意,如果您打算在专有软件项目的上下文中使用的iText购买商业许可,可能是必要的。
先生,我非常srry ....它是一个骄傲的时刻,布鲁诺爵士回答我的querry。我是一名拥有4个月经验的软件工程师,我通过阅读您的Itext开发人员论坛并生成PDF格式尽力而为,但现在需求如此之高,以至于我很困惑,而且非常优先。先生更多需要说,我会通过[email protected] –
@mkl与您联系标记pdfCrowd一个弹出窗口是由statckoverflow给出,说明对于标记pdfCrowd Api我需要一些声誉。对于ITEXT,我感到非常幸运和自豪 –
在GitHub上找不到'pdfHtml'源代码,它是否会来?我问的原因是因为几乎所有[X] HTML到PDF的问题我已经在这里回答了SO直接_可以归因于有源代码可以学习...... – kuujinbo
你究竟想说什么?它看起来好像你想要一个pdfcrowd解决方案,另一方面你标记你的问题itext。 – mkl
事实上,这个问题揭示了缺乏尊重,因为iText 7没有'XmlWorkerHelper'类(这是iText 5的术语)。因此,指称使用iText 7和pdfHtml插件将是一个漫长的过程是错误的。 OP可能会提到iText,因为iText品牌非常强大,但这并不是使用该标签的借口。我投票结束这个问题“不清楚”,因为没有任何代码样本可以让人们重现问题。目前还不清楚OP正面临哪个iText问题。 –