gpt4 book ai didi

java - iText 7 itextpdf.kernel.PdfException

转载 作者:太空宇宙 更新时间:2023-11-04 12:13:19 26 4
gpt4 key购买 nike

我正在使用 java 和 iText 7 生成 PDF。

我创建了一个 PDF 模板,并在该模板中添加了一些数据模型以使其动态化。

当我第一次使用这个模板生成 PDF 时,效果很好。但第二次我尝试修改模板内的数据值然后再次生成时,它引发了错误。

2016-09-24 18:35:17,589|http-bio-8080-exec-20|INFO|CustomerControllercom.itextpdf.kernel.PdfException: pdf.inderect.object.belong.to.other.pdf.document.Copy.object.to.current.pdf.documentcom.itextpdf.kernel.PdfException: pdf.inderect.object.belong.to.other.pdf.document.Copy.object.to.current.pdf.document    at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:184)    at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:174)    at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:104)    at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:176)    at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:104)    at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:176)    at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:104)    at com.itextpdf.kernel.pdf.PdfWriter.writeToBody(PdfWriter.java:315)    at com.itextpdf.kernel.pdf.PdfWriter.flushObject(PdfWriter.java:232)    at com.itextpdf.kernel.pdf.PdfDocument.flushObject(PdfDocument.java:1257)    at com.itextpdf.kernel.pdf.PdfObject.flush(PdfObject.java:147)    at com.itextpdf.kernel.pdf.PdfObject.flush(PdfObject.java:124)    at com.itextpdf.kernel.pdf.PdfObjectWrapper.flush(PdfObjectWrapper.java:97)    at com.itextpdf.kernel.pdf.PdfPage.flush(PdfPage.java:410)    at com.itextpdf.kernel.pdf.PdfPage.flush(PdfPage.java:367)    at com.itextpdf.kernel.pdf.PdfDocument.close(PdfDocument.java:720)    at com.itextpdf.layout.Document.close(Document.java:115)

最佳答案

我隔离了导致错误的代码,注释掉了 PdfFont 的所有用法,效果很好。

我查了一个中文博客,似乎这个错误是由于当你想再次打印这个PDF时没有释放一些文档对象(比如我的例子中的PdfFont)引起的。 http://blog.csdn.net/fu250/article/details/52604900

如果有人能给出更详细的答案,我将不胜感激。

public final PdfFont regular; public final PdfFont bold;

public InvoiceRecieptServiceImpl() throws IOException { this.regular = PdfFontFactory.createFont(FontConstants.HELVETICA); this.bold = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD); }

关于java - iText 7 itextpdf.kernel.PdfException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39675575/

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