Options Operation: Darstellung verändern

Diese Code-Beispiel soll zeigen, wie man mit der Options Operation mit Hilfe des webPDF ToolboxWebService arbeiten kann und wie man am Besten die wsclient Bibliothek einsetzt.

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

Start und Vorarbeit

Um den Webservice entsprechend so aufrufen zu können, sollten Sie zuvor bereits eine REST- oder SOAP-Session erzeugt haben. Damit werden über den 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) erzeugt.

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

(Und schließlich wird dann diesem WebService Objekt über Aufruf der Methode setDocument() ein RestDocument oder ein SoapDocument Objekt übergeben.)

Einsatz des Webservice Parameters

Sie benötigen einen ändernden Zugriff auf Ihr PDF-Dokument und dafür müssen Sie dem Webserviceaufruf das aktuelle open und/oder permission Passwort des Dokuments mit übergeben. Das passiert am erzeugten ToolboxWebService Objekt (Sollte das Dokument nicht über einen solchen Passwortschutz verfügen, so können Sie diesen Punkt überspringen):

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

ToolboxWebService als Endpunkt Ihres webPDF-Servers

Der ToolboxWebService fasst eine Reihe von Operationen zusammen, mit denen Sie das PDF Dokument veränderbar machen können. Eine dieser Operationen ist die Options Operation, die uns hier als Beispiel dient. Mit der Options Operation können Sie verschiedene Optionen für die Darstellung Ihres PDF Dokuments gezielt manipulieren.

So fügen Sie Ihrem WebService Objekt eine Options Operation hinzu:

OptionsType options = new OptionsType();
toolboxWebService.getOperation().add(options);

Am Objekt Options lassen sich folgende Parameter setzen:

initialPage (Standardwert: 1)

Legt die Nummer der Startseite des Dokuments fest. (Die erste Seite entspricht dem Wert 1)

options.setInitialPage(2);

initialView (Standardwert: „none“)

Legt fest, welche Unterfenster des Viewers initial geöffnet werden. Folgende Werte können hier gesetzt werden:

  • none = Kein Unterfenster wird geöffnet.
  • outlines = Das Inhaltsverzeichnis (Outlines) des Dokuments wird angezeigt.
  • thumbnails = Miniaturansichten (Thumbnails) der Seiten des Dokuments werden angezeigt.
  • fullscreen = Das Dokument wird im Vollbildmodus geöffnet.
options.setInitialView(InitialViewType.FULLSCREEN);

magnification (Standardwert: „fitWidth“)

Setzt die initiale Vergrößerung der Dokumentenansicht auf einen voreingestellten Modus. Folgende Werte können hier gesetzt werden:

  • none = Es wird kein besonderer Zoommodus gewählt.
  • fitWidth = Eine passende Zoomstufe wird gewählt, um die komplette Seitenbreite darstellen zu können.
  • fitPage = Eine passende Zoomstufe wird gewählt, um die komplette Seite darstellen zu können.
  • fitHeight = Eine passende Zoomstufe wird gewählt, um die komplette Seitenhöhe darstellen zu können.
  • fitVisible = Eine passende Zoomstufe wird gewählt, um den tatsächlichen Inhaltsbereich der Seite darstellen zu können.
  • fitActual = Das Dokument wird in seiner originalen Größe geöffnet.
  • zoom = Das Dokument wird mit einer bestimmten Vergrößerung geöffnet.
options.setMagnification(MagnificationType.ZOOM);

magnificationZoom (Standardwert: 100)

Wird für die Vergrößerung der Modus Zoom gewählt, so legt dieser prozentuale Wert die Vergrößerung fest.

options.setMagnificationZoom(300);

pageLayout (Standardwert: „singlePage“)

Legt das Layout fest, in dem die Seiten angezeigt werden. Folgende Werte können hier gesetzt werden:

  • singlePage = Die Seiten werden einzeln und isoliert angezeigt.
  • singlePageContinous = Die Seiten werden einzeln und fortlaufend angezeigt.
  • twoPages = Es werden je zwei Seiten des Dokuments isoliert angezeigt.
  • twoPagesContinous = Es werden je zwei Seiten des Dokuments fortlaufend angezeigt.

Wir wollen hier ein ausführlicheres Beispiel für den Webservice-Aufruf (für die Ansprache der SOAP Schnittstelle) geben:

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:
    OptionsType options = new OptionsType();
    toolboxWebService.getOperation().add(options);

    options.setInitialPage(2);
    options.setInitialView(InitialViewType.FULLSCREEN);
    options.setMagnification(MagnificationType.ZOOM);
    options.setMagnificationZoom(300);

    // Ausführung.
    toolboxWebService.process();
} catch (ResultException | MalformedURLException ex) {

    // Zur Auswertung möglicher aufgetretener Fehler, stellt ihnen die
    // wsclient Bibliothek entsprechende Methoden zur Verfügung:
}

Weiterführende Infos hier:

Die Parameter sind auch im Nutzerhandbuch beschrieben: Options Parameterstruktur

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