我有以下代码(IText 7):
PdfDocument pdfDoc = new PdfDocument(new PdfReader(url), new PdfWriter(urlTemp));
.....
pdfDoc.Close();
我的问题是,我只想保存pdfDoc,但不要关闭。我想在用户点击“保存”按钮时保存更改。然后他可以这样做,但是itext说文档已经关闭了。这对我来说很合乎逻辑,因为我打电话给Close()。但是存在一个解决方案,文档只保存或者我可以重新打开文档吗?
谢谢!
答案 0 :(得分:4)
对close()
的调用可确保urlTemp
OutputStream包含完整的PDF。如果没有它,PDF的某些部分可能仍然在内存中而不会刷新到输出流,并且由于PDF是二进制文件,因此会导致PDF损坏。
您需要调用close()
,允许用户编辑和保存文件,然后使用已编辑文件的内容构建新的PdfDocument
对象。