Itext 以较小的块增量添加到磁盘,直到生成整个PDF

Itext 以较小的块增量添加到磁盘,直到生成整个PDF,itext,Itext,我们正在使用iText创建20000多页 “立即写入”应用程序崩溃,出现内存不足异常 我听说一些PDF编写器会将较小的块写入磁盘,最终完成PDF,并且不会抛出内存不足异常 这是真的吗?在不导致内存不足异常的情况下,以文本形式编写PDF的最佳方法是什么?FileOutPutStream/ByteArrayOutputStream/Pipe 提前感谢。PdfWriter,如果使用正确,会尽早将内容写入输出流。显然是错误的,例如在内存中构建巨大的表,并在完成后立即将它们添加到文档中。显然,错误的做法也

我们正在使用iText创建20000多页

“立即写入”应用程序崩溃,出现内存不足异常

我听说一些PDF编写器会将较小的块写入磁盘,最终完成PDF,并且不会抛出内存不足异常

这是真的吗?在不导致内存不足异常的情况下,以文本形式编写PDF的最佳方法是什么?FileOutPutStream/ByteArrayOutputStream/Pipe


提前感谢。

PdfWriter
,如果使用正确,会尽早将内容写入输出流。显然是错误的,例如在内存中构建巨大的表,并在完成后立即将它们添加到文档中。显然,错误的做法也是使用
PdfWriter
写入
ByteArrayOutputStream
来处理大的PDF文件,除非你有大量内存。@Kathiresa:你是在创建一个大的
PdfPTable
,然后,当该表完成时,按照mkl的猜测将其添加到
文档中吗?我投票以“太宽泛”结束这个问题,因为你没有显示任何代码。正确使用时,iText会将小块写入磁盘并释放内存。基于您的问题,我们只能假设您没有正确使用iText,但显然您不希望人们看到您的代码,因为他们担心他们会向您显示您的代码是错误的。