gpt4 book ai didi

java - 使用 pdfcopy 创建 pdf 时返回空文档

转载 作者:行者123 更新时间:2023-12-02 10:43:40 25 4
gpt4 key购买 nike

当我使用 pdfcopy 创建 pdf 时,返回到客户端的 pdf 为空或只有 1 行,但是当我在资源管理器上打开它时,它包含我合并的所有数据,我使用 itextsharp 5

这是我进行合并的地方:

try {
document.close();

PdfReader reader2 = new PdfReader(pdfStream.toByteArray());
//se crea el documento final
Document documentFinal= new Document(PageSize.LETTER, left, right, top, bottom);
PdfCopy pdf_copy = new PdfCopy(documentFinal, pdfStreamFinal);
PdfWriter pdfFinal = PdfWriter.getInstance(documentFinal, pdfStreamFinal);
pdfFinal.setInitialLeading(20);

documentFinal.open();

//CONTENIDO PARA PODER UNIR LOS PDFs
PdfPTable tContenido = new PdfPTable(1);
tContenido.addCell(Celda(pdfEl.textocelda(false, "DESCRIPCIÓN GENERAL", 6.0f), false, 1,1, BaseColor.WHITE));
documentFinal.add(tContenido);

//INICIAR CARGA DE DATOS EN DOCUMENTO FINAL
PdfReader readerR = new PdfReader(reader2);
int pagesR = readerR.getNumberOfPages();
for (int p = 1; p <= pagesR; p++)
pdf_copy.addPage(pdf_copy.getImportedPage(readerR, p));
readerR.close();

//se unen los demas PDFs
for (PdfReader read : readerList) {
PdfReader reader = new PdfReader(read);
int pages = reader.getNumberOfPages();
for (int p = 1; p <= pages; p++)
pdf_copy.addPage(pdf_copy.getImportedPage(reader, p));
reader.close();
}

documentFinal.close();
pdf_copy.close();

} catch (BadElementException ex) {
Logger.getLogger(Calle.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Calle.class.getName()).log(Level.SEVERE, null, ex);
} catch (DocumentException ex) {
Logger.getLogger(Calle.class.getName()).log(Level.SEVERE, null, ex);
}
return pdfStreamFinal.toByteArray();

然后我就这样发送

return Response.ok(makePDF.makePDFEjecutivo(idalle)).header("Content-Disposition", "inline; filename=" + pdfName + ".pdf").build();

这是在文档查看器上打开的文档 document on document viewer

这是在 mozzila firefox 上打开的同一个文档 open on firefox

如何解决这个问题?我需要在两个地方显示相同信息的相同文档。

旁注:当我将类型“内联”更改为“附件”时,它仅显示第一个图像中的信息

最佳答案

您应该删除此变量:

PdfWriter pdfFinal;

因为当您创建此变量的实例时,PdfCopy pdf_copy 引用的文档将被覆盖并创建一个新的空文档。

关于java - 使用 pdfcopy 创建 pdf 时返回空文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52747522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com