Montag, 3. Dezember 2012

Ermitteln farbiger Seiten in PDF-Dokumenten

In den Servicebereichen ist die Berechnung der Druckkosten 
bei PDF-Dokumenten immer ein beliebtes Thema. Braucht der
Drucker nur den günstigen schwarzen oder auch farbigen Toner?
Wieviele farbige und wieviele schwarz-weiße Seiten druckt
welcher Unternehmensbereich und mit welcher Papiergröße?

Intern in der Struktur eines PDF-Dokuments gibt es die
Device-Flags wie z.B. DeviceRGB, DeviceGray oder DeviceCMYK.
Diese weisen zwar auf farbigen Inhalt hin - zwingend ist das
aber nicht. Es kann durchaus sein, dass kein Device vorhanden
ist - es trotzdem aber auch farbigen Inhalt im PDF-Dokument
gibt. Genauso können beim DeviceGray trotzdem farbige Seiten
im Dokument auftauchen und - anders herum - könnte ein Dokument
mit DeviceRGB auch ohne farbigen Inhalt daherkommen.

Ein großes Problem in den Servicebereichen, für das es auch
Lösungen gibt - sehr teuere Lösungen.

Ich biete in meiner Produktpalette die Lösung "PrPages" an.
Es handelt sich dabei um eine sogenannte Commandline-Exe,
die somit problemlos in Workflows und allen Anwendungen (in
32- und 64-Bit-Windows-Umgebungen) einfachst einbindbar ist.

Das Modul verfolgt den Ansatz, dass sich die tatsächlichen
Farbinformationen in jedem einzelnen Bildpixel befinden
und nur hierüber die Bestimmung wirklich sicher möglich ist.
Beim Grafiktyp Bitmap enthält deswegen jedes Pixel drei Werte
zur Farbsetzung auf Pixelebene. "PrPages" rendert die PDF-
Seiten temporär im Hauptspeicher in's Bitmap-Format und prüft
die Pixelwerte bzgl. der Farbinformationen auf schwarz-weiß
und farbig. Im Ergebnis wird eine CSV-Datei erzeugt, die je 
nach optionaler Einstellung einen Eintrag pro Dokumentseite mit
mit dem Dateinamen, der Seitennummer, Seitengröße und dem 
Hinweis auf b/w oder farbig enthält oder (übersichtlicher) einen
Eintrag pro Datei mit den Angaben Dateiname, Gesamtseitenanzahl,
Seitengröße der ersten Seite, Anzahl farbigen und Anzahl der
b/w-Seiten.

Es ist gelungen diese sichere Technik sehr performant auf-
zubereiten. Auf meiner Produktseite unter www.pdf-analyzer.com
finden Sie die "PrPages" als Testversion, um sich von der schnellen
und zuverlässigen Arbeitsweise - vor dem Kauf - selbst zu überzeugen.

Montag, 9. April 2012

PDF, JavaScript und ungewollter Code

Hallo meine lieben Leser!

Im Zuge der Trojaner- und Virenangriffe tauchen immer mal wieder PDF-Dateien als Emailanhang auf, die beim Öffnen u.U. (je nach den Sicherheitseinstellungen auf dem lokalen Rechner) Schadsoftware installieren oder Systemeinstellungen ändern.

Dieses funktioniert i.d.R. über die Interpretersprache JavaScript. Mittels eingebettetem JavaScript-Code kann die Funktionalität einer PDF-Datei stark erweitert werden. Der enthaltene Code wird mit bestimmten Systemereignissen wie z.B. OnLoad (also beim Öffnen einer PDF-Datei) gekoppelt und dann ausgeführt. Natürlich kann so etwas positiv als auch negativ (zu Ihrem Schaden) genutzt werden. PDF-Reader von Adobe und Foxit sind in der Lage Javascriptcode aus/in PDF-Dateien zu lesen und auszuführen.

Standardmäßig wird die Verwendung von JavaScript bei Installation Ihres Adobe- oder Foxit-PDF-Readers mit aktiviert. Genauso haben Sie aber die Möglichkeit diese - oft nicht benötigte - Funktionalität wieder dauerhaft zu deaktivieren.

Beim Adobe Reader 9 oder z.B. 10 verwenden Sie hierfür den Menüweg:

...Bearbeiten -> Voreinstellungen -> JavaScript...

Im rechten Fensterbereich können Sie dann die Haken aus den Checkboxen bei
"Java Script / Acrobat JavaScript aktivieren" und
"Java Script Sicherheit / Menübefehlen Berechtigung zur Ausführung von JavaScript erteilen"
entfernen.

Beim Foxit-Reader 5 verwenden Sie hierfür den Menüweg:

...Werkzeuge -> Einstellungen -> JavaScript...

Entfernen Sie den Haken in der Checkbox bei
"Java Script aktivieren".

Wollen Sie sich mit solchen Dingen gar nicht beschäftigen und genügt Ihnen i.d.R. die einfache Anzeige einer PDF-Datei können Sie es mal mit dem kleinen, einfachen Sumatra PDF Reader probieren.

Viele Grüße,
Ingo Schmökel