iText java:连接pdf的流式传输

iText java:连接pdf的流式传输,java,pdf,itext,Java,Pdf,Itext,因此,我通过连接250个单独的PDF(每个PDF有2页)来生成一个500多页的文档。每个pdf都是一个表单,其中包含放置数据的字段。 我想将内容流式传输到浏览器,每次两页 目前,我正在等待生成整个文档,然后再将任何内容发送到浏览器,这会导致一些超时问题 这是我所做工作的简化形式: PdfCopyFields pdfCopier = new PdfCopyFields(outputStream); for(Receipt receipt: receipts) { ByteArrayOutp

因此,我通过连接250个单独的PDF(每个PDF有2页)来生成一个500多页的文档。每个pdf都是一个表单,其中包含放置数据的字段。 我想将内容流式传输到浏览器,每次两页

目前,我正在等待生成整个文档,然后再将任何内容发送到浏览器,这会导致一些超时问题

这是我所做工作的简化形式:

PdfCopyFields pdfCopier = new PdfCopyFields(outputStream);
for(Receipt receipt: receipts) {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    generator.generateSaleDocument(receipt.getId(), baos);
    pdfCopier.addDocument(new PdfReader(baos.toByteArray()));
}
pdfCopier.close();
outputStream.flush();

如何对这些pdf进行流式处理,而不是将其作为一个大文件包发送?

虽然pdf阅读器可以使用范围请求优化其数据检索,但pdf通常必须事先完全存在,服务器必须允许范围请求。因此,没有您希望看到的pdf流。但是,您可能希望渲染图像并一个接一个地提供它们。正确。iText不支持快速Web视图或线性化PDF,即使支持,它也将处于后处理操作中,因为在线性化之前,您需要完整的PDF。