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. Heute geht es um die Passwortverschlüsselung von PDF-Dateien aus COSIMA.
Mit COSIMA ist es ein Leichtes, vollautomatisch gelayoutete Dokumente zu erzeugen. Mit Einsatz von DOCUFY Layouter kann darüber hinaus das Layout nach eigenem Wunsch geändert werden, beispielsweise in Form eines angepassten Deckblatts oder ein verändertes Seitenformat. COSIMA unterstützt im Standard eine Vielzahl von Ausgabeformaten, darunter auch klassisch das PDF.
Unsere Kunden fragen uns manchmal, ob ein aus COSIMA erzeugtes PDF nachträglich angepasst werden kann. Da wir zu 100 Prozent hinter den vielen Vorteilen einer vollautomatischen Dokumentenerzeugung stehen, raten wir davon meist ab. Denn spätestens bei Übersetzungen und einer Vielzahl an Varianten ist eine manuelle Nachbearbeitung des Layouts nicht mehr praktikabel.
Einige dieser Gespräche verlaufen dann doch anders als erwartet, und es stellt sich heraus, dass es den Kunden bei der PDF-Anpassung gar nicht um die Darstellung der Inhalte geht, sondern darum, das PDF nachträglich mit einem Passwort zu sichern und somit vor unbefugten Zugriff zu schützen.
COSIMA go! unterstützt eine Passwortverschlüsselung im Standard derzeit nicht. Mit COSIMA Scripting ist es aber leicht, nach der PDF-Erzeugung einzugreifen und das schon erzeugte PDF mit einem Passwort zu versehen.
Für diese Funktion setzen wir eine Zusatzfunktion ein, die wir über eine Skriptbibliothek (konkret in diesem Fall die Open-Source Java-Bibliothek pdfbox-app-2.0.29.jar) verfügbar machen. Natürlich können auch beliebige andere Java-Bibliotheken einsetzt werden, die ebenfalls eine vergleichbare Funktionalität zum Setzen von Passwörtern an PDF-Dokumenten bieten.
Dazu muss die zugehörige Datei in COSIMA als Objekt mit dem Objekttyp Skriptbibliothek importiert werden. Anschließend kann an jedem COSIMA Script über die Metadaten die neue Bibliothek unter „Skriptbibliotheken“ ausgewählt und bekannt gemacht werden:
Das Beispielskript listet die PDF-Formate auf (konkret diejenigen mit „PDF“ im Namen, ausgenommen der Delta-Formate) und bietet dem Anwender so die Möglichkeit, den Passwortschutz auch für mehrere Formate am Stück vorzunehmen:
Am Ende erzeugt COSIMA die PDF-Dokumente und versieht diese mit einem Passwortschutz beim Öffnen der Dokumente:
Das Beispiel zeigt gut, wie mit Hilfe von COSIMA Scripting recht einfach bestehende Prozesse (z.B. PDF-Generierung) genutzt und um Funktionen (z.B. Passwortschutz) erweitert werden können. Dazu können auch Interaktionen am Dateisystem (z.B. Orderauswahl für die Speicherung) oder einfache Abfragen (z.B. Passwort zur Verschlüsselung) als Dialoge gescriptet werden. Ebenso können auch COSIMA-interne Informationen (z.B. Auswahl der Formate am gewählten Objekt) einfach abgefragt werden.
Haben Sie ebenfalls den Use Case, um aus COSIMA erzeugte PDF mit einem Passwort zu sichern? Oder haben Sie Ideen für vergleichbare Use Cases, die sich mit PDF-Dateien oder anderen Formaten umsetzen lassen? Lassen Sie uns gerne Ihre bereits bestehenden Umsetzungen oder Ideen für zukünftige Lösungen zukommen. Wir freuen uns über Ihre Rückmeldung!
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 „COSIMA Scripting: Aus COSIMA erzeugtes PDF mit Passwort sichern“ 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.