You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用iTextSharp生成第二个PDF时出现文件访问权限错误

解决iTextSharp批量生成PDF时的文件权限问题

最近用iTextSharp做PDF生成功能时踩了个坑:第一次生成PDF毫无问题,但生成第二个的时候直接抛出文件访问权限不足的错误,报错的代码行正好是pdfDoc.Open()。

一开始我就怀疑是资源没正确释放,排查后发现问题根源出在我的代码结构上——我把Document对象定义成了类级别的共享实例:

Shared pdfDoc As New Document()

这种情况下,第一个PDF生成后,这个共享的Document实例并没有完全释放掉占用的文件资源,导致第二次生成时文件被锁定,自然就拿不到访问权限了。

找到问题后,解决起来就很简单:把Document的创建逻辑移到GeneratePDF方法内部,每次生成PDF都新建一个Document实例。这样每次生成任务完成后,对应的资源会随着方法执行结束被自动回收,不会再出现资源占用的情况,现在已经能正常批量生成多个PDF文件了。

内容的提问来源于stack exchange,提问作者Jeffrey Lionel van Houdt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:50:28