PDFsharp & MigraDoc Foundation

PDFsharp - A .NET library for processing PDF & MigraDoc Foundation - Creating documents on the fly
It is currently Thu Mar 28, 2024 7:02 pm

All times are UTC


Forum rules


Please read this before posting on this forum: Forum Rules



Post new topic Reply to topic  [ 7 posts ] 
Author Message
PostPosted: Thu Jun 24, 2010 10:39 am 
Offline

Joined: Thu Jun 24, 2010 10:29 am
Posts: 5
Hallo,

ich hoffe ich kann hier auch auf Deutsch schreiben, will mir jetzt keinen mit Englisch abbrechen... :)

Ich verwende die PDFsharp-Windows-Forms-DLL in einem unserer Programme und von einem Kunden habe ich oben genannte Fehlermeldung gemeldet bekommen, die bei allen seinen PDF-Dateien auftritt, die er mit unserer Software benutzen möchte. Die PDF-Datei selber kommt aus einem Programm das offensichtlich die PDFs mit iTextSharp erzeugt (so jedenfalls laut Dokumenteigenschaften). In der PDF-Datei liegt nur ein einziges Bild drin, kein Text.

Ich könnte auch eine entsprechende PDF-Datei zu Testzwecken zur Verfügung stellen, will das aber nicht hier öffentlich machen, weil es sich hier um eine Kundendatei mit vertrauenswürdigen Informationen handelt. Kann ich die Datei vielleicht per E-Mail zuschicken?

Ich weiß zwar, dass ich das Problem offensichtlich umgehen könnte, wenn ich iTextSharp statt PDFsharp benutzen würde, das wollte ich allerdings wenn es geht vermeiden, da mir die PDFsharp-Komponente sehr gut gefällt, vor allem wegen der sauberen API!

Grüße,
Andreas Adler


Top
 Profile  
Reply with quote  
PostPosted: Thu Jun 24, 2010 1:57 pm 
Offline
PDFsharp Guru
User avatar

Joined: Mon Oct 16, 2006 8:16 am
Posts: 3095
Location: Cologne, Germany
English:
I checked the test file you sent.
File size is 108 kiB, the real PDF file is 55 kiB - and it's padded with 50,000+ zero bytes at the end.
Without these zero bytes it works fine.

A patch for PDFsharp that will ignore those superfluous zero bytes is described here:
viewtopic.php?f=3&t=273&p=583&hilit=startxref#p583

German:
Ich habe Ihre Beispieldatei geprüft: sie enthält am Ende der Datei über 50.000 überflüssige Nullbytes.
Nach Entfernen dieser Nullbytes (Dateigröße verringerte sich von 108 kiB auf 55 kiB) kann sie mit PDFsharp verarbeitet werden.

Falls Sie iTextSharp dazu bringen können, diese Füllbytes wegzulassen, wäre das die Lösung.

Sie können auch PDFsharp so abändern, dass diese Füllbytes ignoriert werden:
viewtopic.php?f=3&t=273&p=583&hilit=startxref#p583

_________________
Regards
Thomas Hoevel
PDFsharp Team


Top
 Profile  
Reply with quote  
PostPosted: Thu Jun 24, 2010 2:19 pm 
Offline

Joined: Thu Jun 24, 2010 10:29 am
Posts: 5
Danke für die Antwort und den Lösungsvorschlag!

Da die PDF-Dateien die verarbeitet werden sollen aus einem Fremdsystem kommen habe ich hier leider keine Kontrolle über den Aufbau der PDF-Datei. (Wobei sich mir der Sinn dieser Füllbytes gar nicht erschließt. Klar schießen die 50 KB den Vogel nicht ab, aber einfach so Ressourcen aus dem Fenster schleudern...)

Ich werde dann wohl die vorgeschlagene Änderung in der Bibliothek vornehmen. Da ich auf meiner Arbeit leider nur VB.NET zur Verfügung hab werde ich dann erst morgen den hoffentlich positiven Bescheid geben. :)

Nochmals vielen Dank für Ihre Hilfe!

Liebe Grüße,
Andreas Adler


Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 25, 2010 7:14 am 
Offline

Joined: Thu Jun 24, 2010 10:29 am
Posts: 5
Habe nun den vorgeschlagenen Patch durchgeführt und eine eigene PdfSharp-Assembly kompiliert. Nun funktioniert es auch mit der besagten PDF-Datei, danke! :)

Eine kleine Frage hätte ich allerdings noch: Hat die Code-Änderung vielleicht irgendwelche negativen Seiteneffekte zur Folge? Denn immerhin ist die Lösung zu diesem Problem schon fast drei Jahre bekannt, ist aber nicht in die offizielle Version eingeflossen. Das hat ja sicher seine Gründe? Nicht, dass ich dadurch jetzt mehr kaputt mache als dass ich repariere. ;)

Grüße,
Andreas Adler


Top
 Profile  
Reply with quote  
PostPosted: Mon Jun 28, 2010 7:53 am 
Offline
PDFsharp Guru
User avatar

Joined: Mon Oct 16, 2006 8:16 am
Posts: 3095
Location: Cologne, Germany
aadler wrote:
Denn immerhin ist die Lösung zu diesem Problem schon fast drei Jahre bekannt, ist aber nicht in die offizielle Version eingeflossen.

Das "Problem" ist, dass bestimmte Programme hinter dem "%%EOF" (End Of File) noch größere Datenmengen bringen (im konkreten Fall über 50.000 sinnlose Nullbytes, die vermutlich auf einen Programmierfehler zurückzuführen sind (Puffergröße vor dem Speichern nicht angepasst)).
Die "Lösung" ist ein Workaround für einen Programmierfehler in anderen Anwendungen.

Solange nur Nullbytes angehängt werden, wird diese Lösung sicher funktionieren.

Das Problem ist in drei Jahren dreimal aufgetreten. An den Fall, dass hinter %%EOF kurze Kommentare folgen, haben wir PDFsharp angepasst.
Ich werde dieses "Problem" noch mal mit unserem Teamleiter besprechen.

_________________
Regards
Thomas Hoevel
PDFsharp Team


Top
 Profile  
Reply with quote  
PostPosted: Mon Jun 28, 2010 9:39 am 
Offline

Joined: Thu Jun 24, 2010 10:29 am
Posts: 5
Thomas Hoevel wrote:
im konkreten Fall über 50.000 sinnlose Nullbytes, die vermutlich auf einen Programmierfehler zurückzuführen sind (Puffergröße vor dem Speichern nicht angepasst)

Eventuell habe ich vielleicht doch einen indirekten Einfluss auf die Erzeugung der PDF-Dateien, vielleicht bekomme ich es also so hin, dass ich direkt korrekte PDFs erhalte, dann kann ich ja wieder die originale PdfSharp-Assembly benutzen. Das wäre mir in jedem Fall lieber, so bekomme ich neue Programmversionen unkomplizierter.

Thomas Hoevel wrote:
An den Fall, dass hinter %%EOF kurze Kommentare folgen, haben wir PDFsharp angepasst.

Heißt das dann für mich, da ich derzeit die Version mit dem Workaround benutze, um den Fehler zu beheben, dass ich PDFs, die nach dem %%EOF noch Kommentare haben,
  1. gar nicht mehr verwenden kann oder
  2. zwar noch verwenden kann, die kommentare aber nicht auswerten kann (benötige ich eh nicht)?

Vielen Dank schonmal für Ihre Bemühungen!

Viele Grüße,
Andreas Adler


Top
 Profile  
Reply with quote  
PostPosted: Mon Jun 28, 2010 11:57 am 
Offline
PDFsharp Guru
User avatar

Joined: Mon Oct 16, 2006 8:16 am
Posts: 3095
Location: Cologne, Germany
Adobe dokumentiert nicht, wie der Reader nach %%EOF sucht.

Vermutlich entspricht der Workaround dem, was auch der Reader macht. Probleme dürfte es damit keine geben.

_________________
Regards
Thomas Hoevel
PDFsharp Team


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 44 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Privacy Policy, Data Protection Declaration, Impressum
Powered by phpBB® Forum Software © phpBB Group