首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iText版本7- document.close()给出了PdfIndirectReference的例外

iText版本7- document.close()给出了PdfIndirectReference的例外
EN

Stack Overflow用户
提问于 2016-09-20 14:42:57
回答 1查看 2K关注 0票数 0

我使用的是.Net > iText 7。

在pdf生成代码中,->在所有操作完成之后,我说的是doc.Close()。这将引发带有消息"pdf.inderect.object.belong.to.other.pdf.document.Copy.object.to.current.pdf.document"的pdfException。

在检查了PdfException.PdfInderectObjectBelongToOtherPdfDocument代码之后,我发现indirectReference内部属性名中的异常是:

堆栈跟踪是:

代码语言:javascript
运行
复制
at iText.Kernel.Pdf.PdfOutputStream.Write(PdfIndirectReference indirectReference)
   at iText.Kernel.Pdf.PdfOutputStream.Write(PdfDictionary pdfDictionary)
   at iText.Kernel.Pdf.PdfOutputStream.Write(PdfObject pdfObject)
   at iText.Kernel.Pdf.PdfOutputStream.Write(PdfDictionary pdfDictionary)
   at iText.Kernel.Pdf.PdfOutputStream.Write(PdfObject pdfObject)
   at iText.Kernel.Pdf.PdfOutputStream.Write(PdfDictionary pdfDictionary)
   at iText.Kernel.Pdf.PdfOutputStream.Write(PdfObject pdfObject)
   at iText.Kernel.Pdf.PdfWriter.WriteToBody(PdfObject pdfObj)
   at iText.Kernel.Pdf.PdfWriter.FlushObject(PdfObject pdfObject, Boolean canBeInObjStm)
   at iText.Kernel.Pdf.PdfDocument.FlushObject(PdfObject pdfObject, Boolean canBeInObjStm)
   at iText.Kernel.Pdf.PdfObject.Flush(Boolean canBeInObjStm)
   at iText.Kernel.Pdf.PdfPage.Flush(Boolean flushXObjects)
   at iText.Kernel.Pdf.PdfPage.Flush()
   at iText.Kernel.Pdf.PdfDocument.Close()
   at iText.Layout.Document.Close()

请注意:在启动应用程序后,会第一次生成pdf,但在以后的所有尝试中,我都会得到这个异常。

如果能在这方面提供任何帮助,我们将不胜感激。

提前谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-17 12:14:52

在Java中,我遇到了同样的问题,因为我使用静态常量作为字体。尽量不要为PdfFont使用静态值。我把这个拿走了

代码语言:javascript
运行
复制
private static PdfFont font;

我用局部值代替了它

代码语言:javascript
运行
复制
PdfFont font = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39597125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档