Thread Image::Magick Warnungen beim Lesen von PDF (12 answers)
Opened by clms at 2015-04-14 00:46

clms
 2015-04-14 00:46
#180647 #180647
User since
2010-08-29
373 Artikel
BenutzerIn
[default_avatar]
Ich habe ein CGI-Skript mit dem ich Bilder auf einen Webserver hochlade. Sie werden dann mit CPAN:Image::Magick gefiltert, skaliert und und nach JPEG gewandelt. Funktioniert im Prinzip gut. Nur bei manchen (nicht allen!) PDF-Dateien als Vorlage gibt es Probleme. Dort wirkt das erzeugte JPEG auf den meisten Browsern, als ob es einen Grauschleier hätte. Safari zeigt es sogar fast schwarz an.

Jetzt habe ich bei einigen der problematischen PDFs entdeckt, dass CPAN:Image::Magick::Read() folgende Warnungen in den Error-Log des Webservers schreibt:
Code: (dl )
1
2
3
4
5
6
7
8
9
**** specification.
**** file that it does not conform to Adobe's published PDF
**** Please notify the author of the software that produced this
**** >>>> Mac OS X 10.4.11 Quartz PDFContext <<<<
**** The file was produced by:
**** This file had errors that were repaired or ignored.

**** Warning: considering '0000000000 XXXXX n' as a free entry.
**** Warning: considering '0000000000 XXXXX n' as a free entry.


Hat jemand eine Idee, was das für ein Fehler in den PDFs sein könnte und wie man ihn mit CPAN:Image::Magick evtl. korrigieren kann?


Wenn ich das Bild schon nicht so korrigieren kann, dass es anschließend auf allen Browsern gut aussieht, möchte ich die betroffenen PDFs zumindest automatisch detektieren, so dass ich eine saubere Fehlermeldung ausgeben kann. Wie komme ich in meinem CGI-Skript an die o.g. Warning-Messages von Image::Magick heran? Meine Versuche sie mittels $SIG{'__WARN__'} in eine Variable umzuleiten, die ich dann untersuchen könnte, sind bislang fehlgeschlagen.

Oder gibt es eine Möglichkeit irgendwelche Image-Attribute o.ä. meines Image::Magick-Objekts abzufragen, mit denen ich das Vorliegen des Problems erkennen kann?

View full thread Image::Magick Warnungen beim Lesen von PDF