我正在尝试使用 ITextSharp 旋转 pdf 文档中的各个页面。它似乎正在运行,因为当我在 adobe 中打开时,一切看起来都很好。但是,当尝试在 itextsharp 中重新打开时,会抛出各种异常。我可以看出文档有问题,因为 adobe 在打开使用 itextsharp 操作的文档时总是询问我是否要保存更改,这表明它修复了损坏。
疯狂的是,我什至不必对文档做任何操作,只需创建一个新的压模并关闭它。下面是代码,精简到它仍然破坏文档的程度。
有什么想法吗?
这是我的代码
Dim byteArray = IO.File.ReadAllBytes(filename)
Using reader = New iTextSharp.text.pdf.PdfReader(byteArray)
Using stamper = New iTextSharp.text.pdf.PdfStamper(reader, New IO.FileStream(filename, IO.FileMode.OpenOrCreate))
'I don't even have to do anything for it to corrupt, just use a stamper
stamper.Close()
End Using
reader.Close()
End Using
我发现了问题。我改变了这个
IO.FileMode.OpenOrCreate
到
IO.FileMode.Create
现在它工作正常。我不确定为什么,但如果其他人遇到此问题,我希望这会有所帮助。
我是一名优秀的程序员,十分优秀!