Eine der notwendigen Aufgaben bei der Arbeit mit Webseiten ist das Speichern dieser Seiten im PDF-Format. Wir nennen es HTML-Rendering.

Da Webseiten Texte, Bilder, eingebettete Schriftarten, Hyperlinks, Signaturen usw. enthalten können, muss ein zuverlässiger Renderer das Layout im PDF-Format pflegen. Außerdem soll ein Renderer eine große Anzahl von Webseiten auf einmal konvertieren.

Web Renderer (WR) ist ein Cloud-Dienst, mit dem Sie Ihre HTML-Dokumente erfolgreich, schnell und einfach in das PDF-Dokument oder PNG-Bild rendern können. Persönlich benutze ich es seit mehr als 10 Jahren aktiv, dank der Zuverlässigkeit des Service. WR stellt Entwicklern sowohl synchrone als auch asynchrone Methoden zur Verfügung. Ich empfehle dringend, aufgrund der Art des Konvertierungslebenszyklus einen asynchronen Ansatz zu verwenden und die Einschränkung des Verbindungstimeouts der Gateway-Plattform zu umgehen.

Der asynchrone Ansatz ist so einfach zu implementieren. Sie müssen nur HTML-Inhalte an die API-Methoden SubmitPDFFromHTMLTask oder SubmitImageFromHTMLTask senden, um den Aufgabenbezeichner als Antwort zu erhalten. Es gibt auch die Methoden SubmitPDFFromUrlTask und SubmitImageFromUrlTask zum Rendern von PDF oder Image aus dem URI von Webseiten.

Nachdem Sie die Aufgaben-ID erhalten haben, müssen Sie den Aufgabenstatus überprüfen, indem Sie die GetRenderingTaskStatus-Methode aufrufen. Sie müssen dieselbe Methode nach einigen Sekunden Verzögerung aufrufen, solange der Aufgabenstatus gleich “Waiting” ist. Sobald Sie “Completed” von der GetRenderingTaskStatus-Methode erhalten haben, können Sie die Schleife unterbrechen und die DownloadResult-Methode aufrufen, um die endgültige Datei herunterzuladen. Der Rendering-Workflow ist im folgenden Diagramm dargestellt.

Abbildung 1: Rendering-Workflow

Schritt 1. Abrufen Ihres Tokens

Um die API-Aufrufe durchzuführen, benötigen Sie ein gültiges Zugriffstoken. Wir senden Zugriffstoken in HTTP-Headern. Sie können Ihr Zugriffstoken erhalten, indem Sie eine App für Cloud-API erstellen.

Schritt 2. Implementierung und Iteration des asynchronen Ansatzes

WR akzeptiert HTTP-Formular-Post-Anforderungen. Es war ein beliebter Ansatz in den frühen 2000er Jahren. Hier habe ich Client-Implementierungen in verschiedenen Programmiersprachen aufgelistet.

So konvertieren Sie HTML in PDF mit Python

So konvertieren Sie HTML in PDF mit C#

So konvertieren Sie HTML in PDF mithilfe von Java

Konvertieren von HTML in PDF mithilfe von Visual Basic

So konvertieren Sie HTML in PDF mithilfe von Go Lang