Seiten rotieren mit der wsclient Bibliothek

Mindestanforderungen

  • Java-Version: 7
  • webPDF-Version: 7
  • wsclient-Version: 1

In diesem Beitrag stellen wir die Rotate-Operation des Toolbox-Webservices von webPDF vor und zeigen, wie Sie diese mit der webPDF-wsclient-Bibliothek nutzen können.

Wichtiger Hinweis: Das folgende Coding-Beispiel basiert auf der Nutzung der webPDF-wsclient-Bibliothek.

Bevor Sie beginnen

Für die hier gezeigte Art des Webservice-Aufrufs wird vorausgesetzt, dass Sie bereits eine REST- oder SOAP-Session erzeugt haben. Über die WebServiceFactory können Sie dann entweder ein ToolboxWebService-Objekt (SOAP) oder ein ToolboxRestWebService-Objekt (REST) erzeugen.

SOAP:

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

REST:

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

Zusätzlich muss dem Webservice-Objekt über setDocument() ein RestDocument oder SoapDocument übergeben werden.

Weiterführende Dokumentation:

Webservice-Parameter

Für schreibende Zugriffe auf ein Dokument kann es erforderlich sein, das aktuelle open- und/oder permission-Passwort des Dokuments zu setzen. Dies geschieht direkt am toolboxWebService-Objekt:

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

Ist das Dokument nicht passwortgeschützt, kann dieser Schritt übersprungen werden.

Der Toolbox-Webservice

Der Toolbox-Webservice ist ein Endpunkt des webPDF-Servers, der Operationen zur direkten Bearbeitung von PDF-Dokumenten bereitstellt. Eine dieser Operationen ist Rotate.

So fügen Sie eine Rotate-Operation hinzu:

RotateType rotate = new RotateType();
toolboxWebService.getOperation().add(rotate);

Am Objekt Rotate lassen sich folgende Parameter setzen:

pages (Standardwert: "1")

Legt den Seitenbereich fest, der rotiert werden soll. Möglich sind Einzelseiten (1), Listen (1,3,5), Bereiche (1-5) oder Kombinationen (1,3-5,6). Alle Seiten werden über * ausgewählt.

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

degrees (Standardwert: "90")

Legt die Drehung in Grad fest. Seitenrotationen erfolgen in Vielfachen von 90 Grad. Abweichende Werte werden auf den nächsten zulässigen Wert normalisiert.

rotate.setDegrees(180);

pageGroup (Standardwert: "all")

Schränkt die Auswahl nach Seitenzahl ein:

  • all: Alle gewählten Seiten
  • even: Nur gewählte Seiten mit gerader Seitennummer
  • odd: Nur gewählte Seiten mit ungerader Seitennummer
rotate.setPageGroup(PageGroupType.ODD);

pageOrientation (Standardwert: "any")

Schränkt die Auswahl nach Seitenausrichtung ein:

  • all: Alle gewählten Seiten
  • portrait: Nur gewählte Seiten im Hochformat
  • landscape: Nur gewählte Seiten im Querformat
rotate.setPageOrientation(PageOrientationType.PORTRAIT);

Ausführlicheres Beispiel

Nachfolgend ein ausführlicheres Beispiel für einen SOAP-Aufruf:

try (
// Aufbau einer Session mit dem webPDF-Server (hier SOAP):
SoapSession session = SessionFactory.createInstance(
WebServiceProtocol.SOAP,
new URL("https://localhost:8080/webPDF/")
);

// Bereitstellen des Quelldokuments und Zieldokuments:
SoapDocument soapDocument = new SoapDocument(
new File("Pfad des Quelldokuments").toURI(),
new File("Pfad des Zieldokuments")
)
) {
// Webservice-Aufruf und Verarbeitung
} catch (ResultException | MalformedURLException ex) {
// Fehlerbehandlung
}

Die Parameter sind auch im Nutzerhandbuch dokumentiert, dort jedoch ohne wsclient-Beispiele: rotate Parameterstruktur

Eine Dokumentation der Errorcodes und möglicher Fehler finden Sie hier.

Bitte beachten: Viele Parameter besitzen Standardwerte. Wenn der Standardwert Ihrem gewünschten Verhalten entspricht, muss der Parameter nicht explizit gesetzt werden.

Weitere Coding-Beispiele zur wsclient-Bibliothek finden Sie hier.