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: