ITextSharp 压模损坏 pdf
ITextSharp stamper corrupting pdf
我正在尝试使用 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
现在可以正常使用了。我不确定为什么,但如果其他人遇到此问题,我希望这会有所帮助。
我正在尝试使用 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
现在可以正常使用了。我不确定为什么,但如果其他人遇到此问题,我希望这会有所帮助。