Mit weniger Klicks mehr erreichen: Mit unserer Blogreihe „COSIMA Scripting“ zeigen wir anhand verschiedener Kundenbeispiele mögliche Optimierungen in COSIMA. COSIMA-Anwender*innen können mit ein wenig Programmiererfahrung selbst neue und sehr spezifische Funktionalitäten erstellen.

Wir haben uns zuletzt die Möglichkeiten angehen, wie aus COSIMA erzeugte PDF-Dokumente nachträglich mit einem Passwort verschlüsselt werden können. Dafür werden zunächst die Bordmittel von COSIMA zur PDF-Erzeugung genutzt und das Ergebnis nachträglich mit einem Passwort versehen.

Natürlich sind mit dieser Methode auch andere Use Cases realisierbar, die das PDF nachträglich verändern. Ein Beispiel hierfür kam zuletzt als Kundenanfrage zu uns, das wir hier vorstellen werden: Die Dateigröße der aus COSIMA erzeugten PDFs soll reduziert werden, sofern das PDF hochauflösende Bilder enthält.

Die Vorgehensweise ist in diesem Fall sehr ähnlich wie bei der Verschlüsselung:

  1. Zunächst wird das PDF durch COSIMA erzeugt
  2. In der sogenannten Transformationskonfiguration in COSIMA, die technisch die Vorgehensweise zur Überführung eines Quellformats wie das XML eines Rahmendokuments in ein Zielformat wie das PDF beschreibt, wird unter anderem auch definiert, welche Bild-Qualität für die PDF-Erzeugung verwendet werden soll. Typische Werte sind „print“ für einen hochauflösenden Druck mit den Originalbilden oder „online“ für eine Online-Bereitstellung mit Bildern, deren DPI bereits durch COSIMA vorab heruntergerechnet wurden (technisch in Form eines abgeleiteten Formats am zugehörigen Bild-Objekttyp)
  3. COSIMA erzeugt mit den bereitgestellten Bildern das entsprechende PDF
  4. Über ein COSIMA-Skript wird nun das erzeugte PDF nachträglich analysiert, auf eingebettete Bilder geprüft und deren Auflösung auf ein Mindestmaß reduziert. Für diesen Vorgang wird die Skript-Bibliothek pdfbox eingesetzt, die entsprechende Funktionen zur PDF- und Bild-Manipulation bietet.
  5. Die so reduzierte Dateigröße kann abhängig von der Auflösung der ursprünglich enthaltenen Bilder enorm oder nur minimal sein

Als Beispiel haben wir eine Datei mit einem sehr hochauflösenden Bild genutzt – das Motiv ist rein zufällig und hat nichts mit unserer Herkunft zu tun (Zwinkern)

Quelle: Bild von Freepik

Wenn man die beiden PDF-Dokumente vergleicht (links das Original aus COSIMA, rechts die überarbeitete Version mit dem Skript) fällt der enorme Dateigrößenunterschied sofort auf:

Die Dateigröße konnte um über 95% verringert werden und das Bild oben ist sogar ein Screenshot aus dem PDF mit reduzierter Dateigröße! Das Bier ist definitiv noch ansehnlich… Prost! (Zwinkern)

Wie schon erwähnt, hängt die tatsächliche Reduzierung stark von der Quellgrafik ab. Im praktischen Einsatz werden vermutlich nur selten solch große Reduzierungen möglich sein. Aber eine Halbierung der Dateigröße ist sicherlich nicht unüblich, da die Bilder den Großteil der Dateigröße ausmachen. Reiner Text ist schlichtweg sehr sparsam, was Dateigröße angeht.

Das Skript selbst ist sehr ähnlich zu dem Verschlüsselungsskript, nur die Code-Stelle mit der Bildreduzierung ist verändert. Das Beispiel zeigt, wie unterschiedlichste Use Cases mit ähnlichen Skripten flexibel umgesetzt werden können.

Haben Sie auch Durst bekommen oder vergleichbare Umsetzungsideen? Vielleicht auch die Kombination aus den vorgestellten Use Cases? Wir würden uns über Ihre Vorschläge und Ideen sehr freuen – nicht nur bezogen auf leckere Mahlzeiten (breites Grinsen).

Interesse geweckt?

Diese Artikelreihe beschäftigt sich mit den mächtigen Funktionen von COSIMA Scripting und stellt verschiedene Anwendungsfälle in einzelnen Artikeln vor. Wir freuen uns sehr, Rückmeldung von Ihren Beispielen oder Vorschläge für zukünftige Artikel dieser Reihe zu erhalten. Unsere Kunden bekommen die in den Artikeln vorgestellte COSIMA Scripte mit einer kurzen Anleitung auf Nachfrage selbstverständlich kostenfrei. Dafür einfach eine kurze Mail an support@docufy.de mit dem Titel „Dateigrößen der aus COSIMA erzeugten PDFs reduzieren“ schreiben.

Für weitere Unterstützung oder eine Initial-Umsetzung melden Sie sich gerne zu einem unserer Trainings oder zu einem individuellen Workshop an. Zusätzlich bieten wir Ihnen auch Scripting-Support als Dienstleistung an, falls Sie bei selbst erstellten Scripten Unterstützung in Form eines direkten Austauschs mit unseren Entwicklern brauchen, oder Sie sprechen einen unserer Partner an, der Ihnen ebenfalls Unterstützung im Bereich COSIMA Scripting bieten kann.