Webservice PDF/A
Mindestvoraussetzungen
- Java-Version: 7
- webPDF-Version: 7
- wsclient-Version: 1
In diesem Coding-Beispiel stellen wir die Operation des webPDF-Webservice pdfa vor und zeigen, wie Sie diese mit der wsclient-Bibliothek verwenden.
Webservice aufrufen
Voraussetzung ist eine bestehende REST- oder SOAP-Session. Über die WebServiceFactory erstellen Sie je nach Protokoll ein passendes Service-Objekt:
PdfaWebService pdfaWebService = WebServiceFactory.createInstance(session, WebServiceType.PDFA);
oder
PdfaRestWebService pdfaWebService = WebServiceFactory.createInstance(session, WebServiceType.PDFA);
Danach wird über setDocument() ein SoapDocument- oder RestDocument-Objekt gesetzt.
Der pdfa Webservice
Der Endpunkt ermöglicht:
- die Konvertierung von PDF nach PDF/A
- die Analyse und Validierung der PDF/A-Konformität
Die Operation wird über PdfaType konfiguriert:
PdfaType pdfaType = pdfaWebService.getOperation();
Objekt convert
Im Objekt convert werden die Konvertierungsparameter gesetzt:
PdfaType.Convert convert = new PdfaType.Convert();
pdfaType.setConvert(convert);
level (Standard: 1b)
Mögliche Werte: 1a, 1b, 2a, 2b, 2u, 3a, 3b, 3u.
convert.setLevel("3b");
imageQuality (Standard: 75)
Qualität für die Bild-Rekodierung bei nicht erlaubten Komprimierungen.
convert.setImageQuality(90);
errorReport (Standard: none)
Steuert den XML-Fehlerbericht (NONE, MESSAGE, FILE).
convert.setErrorReport(PdfaErrorReportType.MESSAGE);
successReport (Standard: none)
Steuert den Erfolgsbericht (NONE, LINKED, ZIP).
convert.setSuccessReport(PdfaSuccessReportType.NONE);
Objekt zugferd (optional)
Für die ZUGFeRD-Einbettung, bei der PDF/A-3 erforderlich ist:
ZugferdType zugferd = new ZugferdType();
convert.setZugferd(zugferd);
Die XML-Datei wird als Base64 übergeben und gegen das ZUGFeRD-Schema validiert.
Objekt analyze
Zur Konformitätsprüfung:
PdfaType.Analyze analyze = new PdfaType.Analyze();
pdfaType.setAnalyze(analyze);
analyze.setLevel("3b");
Beispielaufruf (SOAP)
try (
SoapSession session = SessionFactory.createInstance(
WebServiceProtocol.SOAP,
new URL("https://localhost:8080/webPDF/")
);
SoapDocument soapDocument = new SoapDocument(
new File("Pfad des Quelldokuments").toURI(),
new File("Pfad des Zieldokuments")
)
) {
// Webservice-Aufruf
} catch (ResultException | MalformedURLException ex) {
// Fehlerbehandlung
}
Weitere Details zu den Parametern: