Verarbeitung von passwortgeschützten PDFs mit jadice server 5
Unterstützung für verschlüsselte PDFs
jadice server ist ab der Version 5 in der Lage, passwortgeschütze PDFs mittels der jadice document platform 5 zu verarbeiten.
Zur Verwendung dieser Funktionalität wird eine Implementierung des Interfaces CryptoMaterialProvider
 benötigt. Zu finden ist dieses Interface im Maven-Artefakt jadice-format-pdf .
Folgendes Beispiel zeigt eine mögliche Implementierung:
public class SimplePasswordProvider implements CryptoMaterialProvider<PasswordMaterial> { List<String> candidates; public List<String> getCandidates() { return candidates; } public void setCandidates(List<String> candidates) { this.candidates = candidates; } @Override public void provide(CryptoMaterialReceiver<PasswordMaterial> receiver) { for (String s : candidates) { boolean success = receiver.receive(new PasswordMaterial(s)); if (success) return; } receiver.cancel(); } }
Dem so implementierten CryptoMaterialProvider
wird mittels der Methode setCandidates(…)
eine Liste von Passwörtern übergeben, die beim Versuch ein passwortgeschütztes PDF zu öffnen verwendet werden sollen.
Dem ReshapeNode
 kann dann der entsprechende CryptoMaterialProvider über die PDFStandardSecurityHandlerSettings
gesetzt werden:
(...) reshapeNode.getReshapeControls().getSettings(PDFStandardSecurityHandlerSettings.class) .setCryptoMaterialProvider(new SimplePasswordProvider(Arrays.asList("foo","bar"))); job.attach(sin.appendSuccessor(reshaperNode).appendSuccessor(son)); (...)
Weitere Informationen
Weitere Information zur Verarbeitung von verschlüsselten PDFs finden Sie im jadice knowledge base-Artikel "Verschlüsselte PDFs" sowie in der Dokumentation der jadice document platform 5 als  "Beispiel zur Verwendung der PDF Security API"
Verwandte Artikel