URL Converter mit der wsclient Bibliothek

Hier zeigen wir Ihnen, wie Sie Webseiten mit dem URL-Converter Webservice in PDF umwandeln können.

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

Webservice aufrufen

Zu Beginn sollten Sie bereits eine REST- oder SOAP-Session erzeugt haben und somit über Aufruf der WebserviceFactory entweder ein UrlConverterWebService Objekt (für eine SOAP Session) erzeugen können..

UrlConverterWebService urlConverterWebService =
    WebServiceFactory.createInstance(
        session, WebServiceType.URLCONVERTER
    );

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

UrlConverterRestWebService urlConverterWebService =
    WebServiceFactory.createInstance(
        session, WebServiceType.URLCONVERTER
    );

Schließlich werden diesem WebService Objekt über Aufruf der Methode setDocument() entweder ein RestDocument oder ein SoapDocument Objekt übergeben.

Webservice Parameter

Gerade um ändernden Zugriff auf ein Dokument zu erhalten, ist es oft nötig dem Webserviceaufruf das aktuelle open und/oder permission Passwort des Dokuments mit zu geben. Dies können Sie direkt am erzeugten urlConverterWebService Objekt tun:

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

(Spielt natürlich nur eine Rolle insofern das Dokument über einen entsprechenden Passwortschutz verfügt.)

URL Converter Webservice

Der URL Converter Webservice ist ein Endpunkt Ihres webPDF Servers, der es Ihnen ermöglicht, Webseiten in ein PDF Dokument zu konvertieren.

Sie rufen das UrlConverterType Objekt wie folgt an ihrem urlConverterWebService Objekt ab, um ihm weitere Parameter zu übergeben:

UrlConverterType urlConverter = urlConverterWebService.getOperation();

Am Objekt urlConverter lassen sich folgende Parameter setzen:

url (Standardwert: „“)

Die URL der Seite, die konvertiert werden soll.

urlConverter.setUrl("https://www.webpdf.de");

Das Objekt „page“

Die Webseite wird auf einer Reihe von Seiten des PDF Dokuments abgebildet. Um zu bestimmen, welche Dimensionen diese Seiten haben sollen, fügen Sie dem Objekt urlConverter ein PageType Objekt hinzu:

PageType page = new PageType();
urlConverter.setPage(page);

Am Objekt Page lassen sich folgende Parameter setzen:

width (Standardwert: 210)

Legt die Breite der Seiten unter Nutzung der gewählten „metrics“ fest.

page.setWidth(800);

height (Standardwert: 297)

Legt die Höhe der Seiten unter Nutzung der gewählten „metrics“ fest.

page.setHeight(16);

bottom (Standardwert: 20)

Legt den unteren Seitenrand fest.

page.setBottom(10);

top (Standardwert: 20)

Legt den oberen Seitenrand fest.

page.setTop(10);

left (Standardwert: 20)

Legt den linken Seitenrand fest.

page.setLeft(10);

right (Standardwert: 20)

Legt den rechten Seitenrand fest.

page.setRight(10);

metrics (Standardwert: „mm“)

Die Maßeinheit, in der die Maße angegeben werden sollen. Folgende Werte können hier gesetzt werden:

  • mm = Millimeter
  • px = Pixel
page.setMetrics(MetricsType.MM);

Das Objekt „basicAuth“

Ist für den Zugriff auf die URL eine Authentifizierung erforderlich, so können Sie in diesem Objekt die nötigen Anmeldedaten übergeben. Fügen Sie hierfür dem Objekt urlConverter ein HttpBasicAuthType Objekt hinzu:

HttpBasicAuthType basicAuth = new HttpBasicAuthType();
urlConverter.setBasicAuth(basicAuth);

Am Objekt basicAuth lassen sich folgende Parameter setzen:

username (Standardwert: „“)

Legt den Nutzernamen fest, der für die Authentifizierung genutzt werden soll.

basicAuth.setUserName("username");

password (Standardwert: „“)

Legt das Password fest, das für die Authentifizierung genutzt werden soll.

basicAuth.setPassword("password");

Das Objekt „proxy“

Ist der Zugriff auf die URL nur über einen Proxy Server möglich, so können Sie in diesem Objekt die nötigen Informationen übergeben. Fügen Sie hierfür dem Objekt urlConverter ein HttpProxyType Objekt hinzu:

HttpProxyType proxy = new HttpProxyType();
urlConverter.setProxy(proxy);

Am Objekt Proxy lassen sich folgende Parameter setzen:

username (Standardwert: „“)

Legt den Nutzernamen fest, der für die Authentifizierung am Proxy Server genutzt werden soll.

basicAuth.setUserName("username");

password (Standardwert: „“)

Legt das Password fest, das für die Authentifizierung am Proxy Server genutzt werden soll.

basicAuth.setPassword("password");

adress (Standardwert: „“)

Legt die Adresse des Proxy Servers fest.

proxy.setAddress("Proxy Adresse");

port (Standardwert: 0)

Legt den Port des Proxy Servers fest.

proxy.setPort(8080);

Beispiel für Webservice-Aufruf

Hier finden Sie ein 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:
    UrlConverterWebService urlConverterWebService =
        WebServiceFactory.createInstance(
            session, WebServiceType.URLCONVERTER
        );
    urlConverterWebService.setDocument(soapDocument);
    urlConverterWebService.getPassword().setOpen("password");
    urlConverterWebService.getPassword().setPermission("password");

    UrlConverterType urlConverter = urlConverterWebService.getOperation();

    urlConverter.setUrl("https://www.webpdf.de");

    PageType page = new PageType();
    urlConverter.setPage(page);

    page.setMetrics(MetricsType.MM);
    page.setWidth(800);
    page.setHeight(600);
    page.setTop(10);
    page.setRight(15);
    page.setBottom(10);
    page.setLeft(15);

    HttpBasicAuthType basicAuth = new HttpBasicAuthType();
    urlConverter.setBasicAuth(basicAuth);

    basicAuth.setUserName("username");
    basicAuth.setPassword("password");

    HttpProxyType proxy = new HttpProxyType();
    urlConverter.setProxy(proxy);

    proxy.setUserName("username");
    proxy.setPassword("password");
    proxy.setAddress("Proxy Adresse");
    proxy.setPort(8080);

    // Ausführung.
    urlConverterWebService.process();
} catch (ResultException | MalformedURLException ex) {
    // Zur Auswertung möglicher aufgetretener Fehler, stellt ihnen die
    // wsclient Bibliothek entsprechende Methoden zur Verfügung:
}
  • Mehr Infos zur URL-Converter Parameterstruktur sowie Error-Codes finden Sie in unserer Doku (hier ohne Beispiele zur Nutzung mittels der wsclient Bibliothek).
  • Beachten Sie bitte auch: Sämtliche Parameter sind mit bestimmten Standardwerten vorbelegt. Ist ein Standardwert angegeben und weicht dieser nicht von Ihrem gewünschten Wert ab, so ist es dann nicht notwendig diesen Parameter zu setzen.

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