2016-06-02 13 views
2

ich verschiedene Seiten in einem PDF-Dokument mit iTextSharp zu drehen versuchen. Es scheint, dass es funktioniert, denn wenn ich in Adobe öffne, sieht alles gut aus. Beim Versuch, in itextsharp erneut zu öffnen, werden jedoch verschiedene Ausnahmen ausgelöst. Ich kann sagen, dass etwas mit dem Dokument los ist, weil Adobe immer fragt, ob ich die Änderungen speichern möchte, wenn ich ein Dokument öffne, das mit itextsharp manipuliert wurde, was darauf hinweist, dass es die Korruption behoben hat.iTextSharp Stamper verderblicher pdf

Das Verrückte ist, dass ich eine Manipulation an dem Dokument nicht einmal zu tun haben, erstellen Sie einfach einen neuen Stempel und schließen Sie es. Unten ist der Code, der bis zu dem Punkt reduziert ist, wo er das Dokument noch immer verdirbt.

Irgendwelche Ideen?

Hier ist mein Code

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 
+1

'Wenn jedoch wieder zu öffnen, in iTextSharp versuchen, sind verschiedene Ausnahmen thrown' wie etwa *** diese Buchung ***? – Codexer

Antwort

0

ich das Problem gelöst. Ich änderte dieses

IO.FileMode.OpenOrCreate 

zu

IO.FileMode.Create 

Und es funktioniert jetzt. Ich bin mir nicht sicher, warum, aber wenn jemand anderes dieses Problem hat, hoffe ich, dass dies hilft.