能正常生成第乙個pdf檔案,然後之後生成的pdf都會丟擲以下異常:
com.itextpdf.kernel.pdfexception: pdf.inderect
.object
.belong
.to.other
.pdf
.document
.copy
.object
.to.current
.pdf
.document
我們定位到原始碼出現異常的位置:
if (document != null && !indirectreference.getdocument().equals(document))
由於當前的document的物件和indirectreference(間接引用)的document物件不一致,導致異常丟擲,問題的源頭找到了,現在需要找到是什麼導致兩個document不一致。
猜測:第乙個document物件沒有正常釋放。
**中什麼會導致document的物件釋放失敗呢?看**,我將字型寫成了單例模式,當時想著是由於中文字型需要地方都需要用到,為了避免每次都new乙個新的。可能是由於字型無法釋放才導致的,做法是將單例模式取消,再執行**就不會再出現以上的異常了。
public
static pdffont cnfont = null;
這個問題折磨我挺長時間,希望對大家使用itext7的過程中有所幫助。 Java中利用IText7生成PDF
下面介紹幾種itext7生成pdf的一些頁面元素的方法 官網1 新增 import com.itextpdf.kernel.font.pdffont import com.itextpdf.kernel.font.pdffontfactory import com.itextpdf.kernel.p...
itext7填充PDF模板(二)填充pdf模板
本篇文章主要講解的是如何採用itext7進行模板填充。private static void fillparam pdfreader pdfreader,pdfwriter pdfwriter,mapmap,listpdfpositons throws malformedurlexception c...
C 筆記 itext7將HTML轉為PDF
從nuget搜尋安裝 itext7.pdfhtml 安裝時根據提示一併安裝5個依賴項 itext7 microsoft.csharp portable.bouncycastle common.logging common.logging.core 由於itext7與itext5在結構和用法上有些區別...