SOAP Schnittstelle
Die WSDL Definition des SOAP WebServices von HTML2PDF erhalten Sie über diese URI:
http://online.htmltopdf.de/?WSDL
Der WebService exportiert die Methoden CreatePDF und CreatePDF2, die Sie mit diesen Parametern aufrufen:
$url
Die URL der zu konvertierenden Webseite als maximal 4096 Zeichen langer String. Die URL muss zwingend mit http oder https beginnen – andere Protokolle werden zur Zeit nicht unterstützt.
$license
Falls vorhanden, der Lizenzschlüssel als String. Ansonsten eine leere Zeichenkette oder NULL.
$header
Falls ein Lizenzschlüssel vorhanden ist, kann hier ein individueller Text definiert werden, der im Kopf jeder Seite des PDF sichtbar sein soll. Ohne Lizenz steht dort ein Hinweis auf diesen HTML2PDF WebService. Ist keine Lizenz vorhanden, sollte eine leere Zeichenkette oder NULL übergeben werden.
$orientation
Übergeben Sie „Portrait“ oder „Landscape“, um die Seitenausrichtung zu bestimmen.
$background
Übergeben Sie „1“ oder „0“, um die Verarbeitung von Hintergrundfarben und -bildern ein-/auszuschalten.
Übergeben Sie „1“ oder „0“, um die Verarbeitung von CSS für Print-Medien ein-/auszuschalten.
Rückgabe
Der WebService liefert im Erfolgsfall die mit base64 codierten Daten der PDF Datei als String. Im Fehlerfall liefert die Methode auch NULL oder wirft eine SoapFault Exception.
Programmierbeispiel C#
Binden Sie zunächst einen Webverweis auf den HTML2PDF WebService in Ihr C# Projekt ein (nutzen Sie die URI zum WSDL, wie am Anfang dieser Seite beschrieben). Sofern Sie als Namespace für den Webdienst „de.wan24.html2pdf“ verwenden, können Sie die Methode CreatePDF so in Ihrem C# Code verwenden:
using System; using System.Security.Cryptography; using System.Text; namespace wan24 { public static class HTML2PDF { static HTML2PDF() { License = null; } public static string License { get; set; } public static byte[] CreatePDF(string url) { return CreatePDF(url, "", "Portrait", true, false); } public static byte[] CreatePDF(string url, string header, string orientation, bool background, bool print) { string license = License; if (license != null && license != "") { StringBuilder temp = new StringBuilder(); foreach (byte b in SHA1.Create().ComputeHash(Encoding.Default.GetBytes(url + license))) temp.Append(String.Format("{0:x2}", b)); license = temp.ToString(); } using (de.wan24.html2pdf.Html2PdfService service = new de.wan24.html2pdf.Html2PdfService()) { return Convert.FromBase64String(service.CreatePDF2(url, license, header, orientation, (background)?"1":"0", (print)?"1":"0")); } } } }
Die statische Klasse HTML2PDF kann nun überall so verwendet werden:
wan24.HTML2PDF.License = "";// Hier den Lizenzschlüssel eingeben, falls vorhanden // PDF erzeugen und in die Datei "demo.pdf" schreiben File.WriteAllBytes("demo.pdf", wan24.HTML2PDF.CreatePDF("http://wan24.de"));