Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 10 Nächste Version anzeigen »

Eine häufige Anforderung ist die Anzeige von verschlüsselten PDF-Dokumenten. Um verschlüsselte PDF-Dokumente anzuzeigen, muss die Verschlüsselung entfernt werden. Damit bewegt man sich schnell in eine rechtliche Grauzone.
jadice unterstützt PDF/A. PDF/A ist als Standardformat für die Langzeitarchivierung ausgelegt mit dem Ziel eine langfristige, uneingeschränkte Nutzbarkeit von PDF-Dokumenten zu gewährleisten. Eine Verschlüsselung spricht gegen diesen Grundsatz und ist daher in PDF/A nicht zulässig.

Was kann man nun tun, wenn verschlüsselte PDF-Dokumente

  • zur Anzeige gebracht werden sollen?
  • oder automatisch erkannt werden sollen, um sie einem alternativen Workflow zu übergeben?

jadice bietet die Möglichkeit verschlüsselte PDF-Dokumente zu erkennen. Auf diesem Weg kann ein Integrator das geschützte Dokument an einem speziellen Arbeitsplatz bzw. mit qualifizierter Anwendung zur Anzeige öffnen oder einer alternativen Verwendung zuführen.

Die Erkenung verschlüsselter PDF-Dokumente kann in jadice durch eine Überwachung des Ladevorgangs erreicht werden. Die Erkennung basiert auf der Überprüfung von eindeutigen Ereignis-IDs, die durch den Ladevorgang geliefert werden. Die ID DOCP.FORMAT.PDF-ENCRYPTED_DOCUMENTS_NOT_SUPPORTED tritt auf, wenn jadice ein verschlüsseltes PDF-Dokument lädt. Wird diese ID erkannt, kann an dieser Stelle adäquat reagiert werden. Beispielsweise kann ein Dialog geöffnet werden, der den Benutzer informiert und Alternativen anbietet.

Mit der Version 4.3 geschieht dies durch eine LoadListener-Implementation. Eine Realisierung für die Erkennung von verschlüsselten Dokumenten könnte beispielsweise so aussehen:

Implementierung eines LoadListeners in jadice 4.3
loader.addLoadListener(new LoadListener() {
  public void loadStateChanged(LoadEvent e) {
    if (e.getType() == LoadEvent.LOAD_ERROR 
        && e.getThrowable() instanceof JadiceException) {
      if (((JadiceException)e.getThrowable()).getId().equals(
          "DOCP.FORMAT.PDF-ENCRYPTED_DOCUMENTS_NOT_SUPPORTED")) {
        System.err.println("Process encrypted documents here...");
      }
    }
  }
});
loader.loadDocument(seekInputStream, 0);

Mit jadice 5.1 wird der Ladevorgang mittels einer ReaderListener-Implementation überwacht. Eine Realisierung für die Erkennung von verschlüsselten Dokumenten könnte hier beispielsweise so aussehen:

Implementierung eines ReaderListeners in jadice 5.1
private static final class MyReaderListener extends ReaderListenerAdapter {
  @Override
  public void fatal(QualifiedLogEvent event) {
    if (event.getId().equals("DOCP.FORMAT.PDF-ENCRYPTED_DOCUMENTS_NOT_SUPPORTED")) {
      // in diesem Fall wurde versucht ein verschluesseltes PDF-Dokument zu laden. Dies ist
      // fehlgeschlagen und eine entsprechende Behandlung sollte erfolgen.
      System.err.println("Process encrypted documents here...");
    }
  }
}
  • Keine Stichwörter