Java 飞碟pdf+;itextpdf:如何将文本附加到现有pdf文件的最后一页?

Java 飞碟pdf+;itextpdf:如何将文本附加到现有pdf文件的最后一页?,java,pdf,flying-saucer,itextpdf,Java,Pdf,Flying Saucer,Itextpdf,我必须将数千个html页面从知识库导出到pdf文件。我正在使用飞碟库(因为它知道如何正确地呈现html+css),它在引擎盖下使用itextpdf进行pdf操作 问题是,对于大量的html文档,我们的服务器会出现OOM错误。这是因为飞碟在创建pdf之前呈现内容,这是一项非常昂贵的操作 我将导出页面拆分为“bucket”,然后将它们附加到结果文件中(如建议的那样)。但问题是,每个新“bucket”都从新页面开始,即使上一个bucket的最后一页上有足够的空间 因此,与其这样: Page -----

我必须将数千个html页面从知识库导出到pdf文件。我正在使用飞碟库(因为它知道如何正确地呈现html+css),它在引擎盖下使用itextpdf进行pdf操作

问题是,对于大量的html文档,我们的服务器会出现OOM错误。这是因为飞碟在创建pdf之前呈现内容,这是一项非常昂贵的操作

我将导出页面拆分为“bucket”,然后将它们附加到结果文件中(如建议的那样)。但问题是,每个新“bucket”都从新页面开始,即使上一个bucket的最后一页上有足够的空间

因此,与其这样:

Page
---------------------------
| last row of N-1th bucket|
| first row of Nth bucket |
|.........................|
|_________________________|
我有这个:

Page
---------------------------
| last row of N-1th bucket|
|                         |
|                         |
|_________________________|

Page
---------------------------
| first row of Nth bucket |
|.........................|
|.........................|
|_________________________|
我找到了相关的线程-,但在pfd创建过程中是否有方法将内容附加到最后一页

非常感谢您的帮助。我还试图找到一些相关的例子,但没有任何运气


提前谢谢你

我为我的案例解决了这个问题,所以如果有人感兴趣,请发布答案


通过“调整”飞碟库解决了这个问题——这里是。另一个积极的副作用是传递一个文档侦听器,它允许跟踪实际的页面呈现进度,这可能有助于长时间运行的流程的可视化。

如果您使用(也支持XHTML+CSS),我们将能够帮助您,但您使用的是飞碟,这是一种由不属于iText Group的人员开发的工具,因此您必须希望这些人员在StackOverflow方面提供支持。感谢您的回复。我使用飞碟b/c,它以特定样式正确呈现html。这是我们客户的最高优先级。我将尝试使用XML Worker,看看它是如何处理的。顺便问一下,它是如何处理数千页的巨大html文件的?正如我在问题中提到的,飞碟使用不同的图形工具“呈现”所有内容,然后将其“复制”到pdf(当然,这是高水平的)。渲染的上下文会占用大量空间。XML工作者是如何工作的?在一个巨大的文件(数千个html页面)上,我不会遇到同样的问题吗?还是说XML Worker只允许将内容附加到最后一页?这完全取决于您如何使用XML Worker。最好的方法是允许文档在完成页面后立即刷新完成的页面。显然,如果您的HTML包含数千行的大型
,这将不起作用,但是如果您的HTML是一系列独立的内容块,那么它将充分发挥作用。它可以处理带有链接的HTML文档吗?例如,在巨大的html文档的开头有一个链接,指向它的最后一页(文档末尾的某个地方)。XML Worker是否正确处理此类链接?结果pdf文件是否包含正确的链接?