如何使用ITEXT或PDFCROWD API将HTML页面转换为PDF

问题描述:

创建的PDF将基于动态HTML页面。如何使用ITEXT或PDFCROWD API将HTML页面转换为PDF

使用带有XMLWORKERHELPERCLASS的ITEXT 5或7将是一个漫长的过程。

如果我使用的是pdfcrowd API,它似乎是好的,但无法在localhost或任何其他私有IP上生成。如果他们达到上述目的,我准备为他们的服务付费。

+1

你究竟想说什么?它看起来好像你想要一个pdfcrowd解决方案,另一方面你标记你的问题itext。 – mkl

+0

事实上,这个问题揭示了缺乏尊重,因为iText 7没有'XmlWorkerHelper'类(这是iText 5的术语)。因此,指称使用iText 7和pdfHtml插件将是一个漫长的过程是错误的。 OP可能会提到iText,因为iText品牌非常强大,但这并不是使用该标签的借口。我投票结束这个问题“不清楚”,因为没有任何代码样本可以让人们重现问题。目前还不清楚OP正面临哪个iText问题。 –

首先,您需要获取iText 7(核心库)和pdfHtml插件(将解析HTML + CSS并将其转换为iText对象的部分)。去github找出如何下载这些。

假设你有这样的HTML

enter image description here

有了这个对应CSS

enter image description here

然后你可以使用此代码段:

ConverterProperties converterProperties = 
    new ConverterProperties().setBaseUri(resoureLocation); 
HtmlConverter.convertToPdf(
    new FileInputStream(HTMLSource), 
    new FileOutputStream(pdfDestination), converterProperties); 

其中resourceLocation指向您的基本URI,HTMLSource是HTML文件的路径,pdfDestination是您希望写入结果PDF的路径。

当你执行这个代码,你将得到以下PDF

enter image description here

请注意,如果您打算在专有软件项目的上下文中使用的iText购买商业许可,可能是必要的。

+0

先生,我非常srry ....它是一个骄傲的时刻,布鲁诺爵士回答我的querry。我是一名拥有4个月经验的软件工程师,我通过阅读您的Itext开发人员论坛并生成PDF格式尽力而为,但现在需求如此之高,以至于我很困惑,而且非常优先。先生更多需要说,我会通过[email protected] –

+0

@mkl与您联系标记pdfCrowd一个弹出窗口是由statckoverflow给出,说明对于标记pdfCrowd Api我需要一些声誉。对于ITEXT,我感到非常幸运和自豪 –

+0

在GitHub上找不到'pdfHtml'源代码,它是否会来?我问的原因是因为几乎所有[X] HTML到PDF的问题我已经在这里回答了SO直接_可以归因于有源代码可以学习...... – kuujinbo