Egal ob sie PDF Dateien bearbeiten, optimieren, normalisieren, nach PDF/A konvertieren, rendern, drucken, oder Tabellen ausgeben möchten, all das ist mit DynaPDF ein Kinderspiel.
Wenn Sie Ihre Anwendungen für mehr als nur ein Betriebssystem entwickeln, dann muss natürlich auch die PDF Bibliothek die benötigten Betriebssysteme unterstützen.
Wer will schon die PDF Ausgabe für jede Plattform neu entwickeln? Genau, niemand...
DynaPDF gehört zu den wenigen Bibliotheken, die Farbmanagement von der Erzeugung bis zur Anzeige vollständig unterstützen, inklusive Soft proof!
Mit dem richtigen Werkzeug ist Farbmanagement ganz einfach...
Farbmanagement ist für viele Anwender leider immer noch ein Buch mit sieben Siegeln, dabei ist Farbmanagement in PDF eigentlich ganz einfach. Damit Farben in einer PDF Datei richtig angezeigt und gedruckt werden können, muss der Datei eigentlich nur ein ICC Profil angehangen werden. Das ist der sogenannte Output Intent, oder auch Zielfarbraum genannt. Wenn die Datei bspw. durchgängig in RGB oder CMYK erzeugt wird, dann fügt man dementsprechend ein RGB oder CMYK ICC Profil hinzu, fertig. Mehr als ein Output Intent ist für eine korrekte Farbwiedergabe nicht erforderlich, sofern alle Objekte den gleichen Gerätefarbraum verwenden.
Natürlich gibt es häufig Fälle, in denen mehr als ein Farbraum verwendet werden muss, vor allem bei Bildern. Das ist auch nicht weiter kompliziert, sofern die Bilder mit Farbmanagement erzeugt wurden und in den Bildern ein ICC Profil eingebettet wurde.
Diese Profile können beim Einfügen direkt übernommen werden. Es wird dann nicht als Output Intent gespeichert, sondern direkt mit dem Bild verknüpft. Das ICC Profil wird also als Quellfarbraum verwendet, während der Output Intent den Zielfarbraum definiert.
Genau das wird häufig missverstanden. Auch wenn in einer Datei nur Bilder mit eingebetteten ICC Profilen verwendet werden, muss der Zielfarbraum immer noch separat in Form des Output Intent definiert werden! Nur wenn der Zielfarbraum, also der Output Intent definiert wird, erhält man auch einheitliche Ergebnisse.
Wenn der Zielfarbraum nicht defniert wird, dann wird in Viewern ein Standardprofil als Zielfarbraum verwendet. Das führt dann aber mitunter zu sehr unterschiedlichen Ergebnissen, da der Standardzielfarbraum in den meisten Viewern unterschiedlich definiert ist.
Bei Adobes Acrobat und Reader hängt der Standardzielfarbraum auch vom Inhalt der Datei ab. Das sorgt recht häufig für Verwirrung, da praktisch alle PDF Viewer von Drittherstellern anders vorgehen.
In Acrobat und Reader ist der Standardzielfarbraum für RGB Farben zunächst RGB. RGB ist ein Gerätefarbraum und er wird auch so behandelt. Das heißt RGB Farben werden direkt auf dem Monitor ausgegeben, aber nur wenn keine Transparenz verwendet wird. Wenn Transparenz verwendet wird, das könnte bspw. ein einfacher Alpha Kanal in einem Bild sein, dann simulieren Acrobat und Reader einen Druckerfarbraum, und ein Druckerfarbraum ist in der Definition von Acrobat und Reader ein CMYK Farbraum.
Dieses Verhalten ändert sich nicht, wenn Objekte ein eingebettetes ICC Profil verwenden, denn dieses wird als Quellfarbraum verwendet. Der Zielfarbraum wird dadurch nicht geändert.
Bei RGB Dateien mit Transparenz sehen wir auf dem Bildschirm also eine Druckvorschau, während bei normalen RGB Dateien die Farben direkt auf dem Monitor ausgegeben werden. Dass das zu unterschiedlichen Ergebnissen führt ist logisch, schließlich sind CMYK Farbräume viel kleiner als RGB Farbräume.
Wenn Sie PDF Dateien mit DynaPDF rendern, dann sollte das auch mit aktiviertem Farbmanagement geschehen. Das Farbmanagement muss in DynaPDF mit InitColorManagement() mit den gewünschten Standardprofilen für CMYK und RGB Farbräume initialisert werden. Vor allem die Angabe eines CMYK Profils ist wichtig, da CMYK Farben ohne Farbmanagement nur unzureichend nach RGB konvertiert werden können. Die Funktion kann mehrfach aufgerufen werden. Sie können die Profile zur Laufzeit jederzeit ändern. Die Seiten müssen danach lediglich neu gerendert werden.
Das ist vor allem bei einem Softproof wichtig, da bei der erstmaligen Anzeige normaler Weise kein Softproof durchgeführt wird, also ein anderer Zielfarbraum simuliert wird.