URL Converter mit der wsclient Bibliothek
Minimum technical requirements
- Java version: 7
- webPDF version: 7
- wsclient version: 1
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:
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.