webPDF Toolbox Delete: Seiten entfernen

Hier soll es um eine Anwendungsbeschreibung mit Code-Beispielen zur Delete Operation des webPDF ToolboxWebService gehen.

Wichtiger Hinweis:

Das nun folgende Coding-Beispiel beruht auf der Nutzung der webPDF wsclient Bibliothek. Um das Beispiel zu verstehen und anzuwenden, sollte zunächst folgender Blogbeitrag beachtet werden:

webPDF und Java: mit der „wsclient“ Bibliothek ganz einfach

Erste Schritte: REST- oder SOAP-Session erzeugen

Um den Webservice auf die Art aufrufen zu können, die wir hier vorstellen möchten, gehen wir davon aus, dass Sie zunächst eine REST- oder SOAP-Session erzeugt haben und so über Aufruf der WebserviceFactory entweder ein ToolboxWebService Objekt (für eine SOAP Session)

ToolboxWebService toolboxWebService =
    WebServiceFactory.createInstance(
        session, WebServiceType.TOOLBOX
    );

..oder ein ToolboxRestWebService Objekt (für eine REST Session) erzeugen können:

ToolboxRestWebService toolboxWebService =
    WebServiceFactory.createInstance(
        session, WebServiceType.TOOLBOX
    );

Diesem WebService Objekt wird dann über Aufruf der Methode setDocument() entweder ein RestDocument oder ein SoapDocument Objekt übergeben.

Zum Webservice Parameter

Weil Sie Ihre Dokumente anpassen möchten, ist es notwendig, dass Sie dem Webserviceaufruf das aktuelle open und/oder permission Passwort des Dokuments mitgeben. Das geschieht am erzeugten ToolboxWebService Objekt:

toolboxWebService.getPassword().setOpen("password");
toolboxWebService.getPassword().setPermission("password");

(Diesen Punkt brauchen Sie nur beachten, wenn das Dokument über einen entsprechenden Passwortschutz verfügt.)

Toolbox Webservice: Die Delete Operation

Der ToolboxWebService kann man als einen Endpunkt Ihres webPDF Servers verstehen, der einige Oparationen zusammenfasst und durch den es möglich ist, Ihr PDF Dokument entsprechend anzupassen. Hier soll es nun um ein konretes Beispiel, nämlich die Delete Operation (Seiten löschen/Seiten entfernen) gehen.

Delete Operation dem WebService Objekt hinzufügen:

DeleteType delete = new DeleteType();
toolboxWebService.getOperation().add(delete);

Am Objekt Delete lassen sich folgende Parameter setzen:

pages (Standardwert: „1“)

Legt den Seitenbereich fest, der gelöscht werden soll. Es kann entweder eine Einzelseite („1“) eine Auflistung von Seiten („1,3,5“), ein Seitenbereich („1-5“) oder eine Kombination dieser Elemente („1,3-5,6“) angegeben werden. Alle Seiten des Dokuments können über „*“ ausgewählt werden.

delete.setPages("1,3-5,6");

Ausführlicheres Beispiel

Hier erfolgt nun abschließend ein etwas ausführlicheres Beispiel für unseren gesamten Webserviceaufruf (für die Ansprache der SOAP Schnittstelle):

try (
    // Aufbau einer Session mit dem webPDF Server(hier SOAP):
    SoapSession session = SessionFactory.createInstance(
        WebServiceProtocol.SOAP,
        new URL("https://localhost:8080/webPDF/")
    );
    // Bereit stellen des Dokuments, das verarbeitet werden soll
    // und der Datei, in die das Ergebnis geschrieben werden soll:
    SoapDocument soapDocument = new SoapDocument(
        new File("Pfad des Quelldokuments").toURI(),
        new File("Pfad des Zieldokuments")
    )
) {
    // Wahl des Webservices über eine Factory:
    ToolboxWebService toolboxWebService =
        WebServiceFactory.createInstance(
            session, WebServiceType.TOOLBOX
        );
    toolboxWebService.setDocument(soapDocument);
    toolboxWebService.getPassword().setOpen("password");
    toolboxWebService.getPassword().setPermission("password");

    // Objektorientierte Parametrisierung des Aufrufs:
    DeleteType delete = new DeleteType();
    toolboxWebService.getOperation().add(delete);
    delete.setPages("1-5");

    // Ausführung.
    toolboxWebService.process();
} catch (ResultException | MalformedURLException ex) {
    // Zur Auswertung möglicher aufgetretener Fehler, stellt ihnen die
    // wsclient Bibliothek entsprechende Methoden zur Verfügung:
}

Hinweis:

Sie finden weiterführende Infos zu den Parametern, zu Errorcodes oder auch zu SOAP und REST im webPDF-Nutzerhandbuch.

Weitere Coding-Beispiele für Webservices, welche Sie mit der ws-client Bibliothek nutzen können finden Sie hier.