【发布时间】:2021-01-08 07:12:59
【问题描述】:
我使用 iTextSharp 5.5.13.2 版创建 PDF 的代码返回错误“无法访问已关闭的流”。 我不确定这个错误是如何出现的,因为我将我的代码封装在 Using 语句的范围内。调试导致应用程序进入中断状态。 PdfWriter writer = PdfWriter.GetInstance(doc, ms);
【问题讨论】:
-
是哪行代码导致的。
-
您使用的是哪个版本的 iTextSharp? (PS 你也应该明确提到你在你的问题/标签中使用 iTextSharp)
-
造成这种情况的典型原因是流被流的某些用户处置,可能是 pdfwriter 或文档。有些类采用“keepOpen”参数来避免这种行为。
-
查看源代码here 它会关闭
os(输出流,PdfWriter.GetInstance中的ms参数),具体取决于closeStream是真还是假。碰巧closeStream是一个属性。所以你需要做的就是在GetInstance之后设置writer.CloseStream = false;
标签: c# stream itext filestream memorystream