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:
- REST-Schnittstelle: webPDF REST API
- SOAP-Schnittstelle: webPDF SOAP API
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 Seiteneven: Nur gewählte Seiten mit gerader Seitennummerodd: 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 Seitenportrait: Nur gewählte Seiten im Hochformatlandscape: 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.