using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Die Möglichkeit, HTML-Dateien oder -Inhalte in das PDF-Seitenformat zu konvertieren, ist in vielen Anwendungen eine wertvolle Funktion. In C++ ist es eine ziemlich mühsame Aufgabe, eine Anwendung von Grund auf neu zu erstellen, um Dateien im HTML- zu PDF-Format zu generieren. In diesem Artikel werden wir untersuchen, wie man HTML in C++ mit der wkhtmltopdf-Bibliothek in PDF konvertiert.
WKTOPdf-Bibliothek
wkhtmltopdf ist ein Open-Source-Befehlszeilen-Tool, das HTML-Text-Seiten nahtlos in hochwertige PDF-Dokumente umwandelt. Indem wir seine Funktionen in C++-Programmen nutzen, können wir HTML-String-Inhalte leicht in das PDF-Format konvertieren. Lassen Sie uns den schrittweisen Prozess der Konvertierung von HTML-Seiten in PDF in C++ unter Verwendung der wkhtmltopdf-Bibliothek nachvollziehen.
Voraussetzungen
Um den Konverter für HTML-zu-PDF-Dateien in C++ zu erstellen, müssen wir überprüfen, ob die folgenden Dinge vorhanden sind:
Ein C++-Compiler wie GCC oder Clang, der auf Ihrem System installiert ist.
wkhtmltopdf-Bibliothek installiert. Sie können die neueste Version von der offiziellen Website herunterladenwkhtmltopdf website und installieren Sie es gemäß den Anweisungen Ihres Betriebssystems.
Grundkenntnisse in der C++-Programmierung.
Erstellen eines C++ HtmltoPdf-Projekts in Code:Blocks
Um ein C++ PDF-Konvertierungsprojekt in Code::Blocks zu erstellen, gehen Sie folgendermaßen vor:
Öffnen Sie die Code::Blocks IDE.
Gehen Sie zum Menü "Datei" und wählen Sie "Neu" und dann "Projekt", um den Assistenten für neue Projekte zu öffnen.
Wählen Sie im Assistenten für neue Projekte die Option "Konsolenanwendung".
Wählen Sie die Sprache C++.
Legen Sie den Projekttitel und den Ort fest, an dem Sie speichern möchten. Klicken Sie auf "Weiter", um fortzufahren.
Wählen Sie den entsprechenden C++-Compiler und das Build-Ziel, z. B. Debug oder Release. Klicken Sie auf "Fertigstellen", um das Projekt zu erstellen.
Einrichten von Suchverzeichnissen
Um sicherzustellen, dass Code::Blocks die erforderlichen Header-Dateien finden kann, müssen wir die Suchverzeichnisse einrichten.
Klicken Sie auf das Menü "Projekt" in der Menüleiste und wählen Sie "Build-Optionen". Stellen Sie sicher, dass Sie "Debug" auswählen.
Wählen Sie im Dialogfeld "Erstellungsoptionen" die Registerkarte "Verzeichnisse durchsuchen".
Klicken Sie unter der Registerkarte "Compiler" auf die Schaltfläche "Hinzufügen".
Wechseln Sie in das Verzeichnis, in dem sich die wkhtmltox-Header-Dateien befinden(z. B. C:\Programmdateien\wkhtmltopdf\include)und wählen Sie es aus.
Klicken Sie abschließend auf "OK", um das Dialogfeld zu schließen.
Verknüpfung der Bibliotheken
Um gegen die wkhtmltox-Bibliothek zu linken, gehen Sie wie folgt vor:
Klicken Sie erneut auf das Menü "Projekt" in der Menüleiste und wählen Sie "Erstellungsoptionen". Stellen Sie sicher, dass Sie "Debug" auswählen.
Wählen Sie im Dialogfeld "Build-Optionen" die Registerkarte "Linker-Einstellungen".
Klicken Sie auf der Registerkarte "Bibliotheken verknüpfen" auf die Schaltfläche "Hinzufügen".
Wechseln Sie zu dem Verzeichnis, in dem sich die wkhtmltox Bibliotheksdateien befinden(z. B. C:\Programmdateien\wkhtmltopdf\lib)und wählen Sie die entsprechende Bibliotheksdatei aus.
Klicken Sie auf "Öffnen", um die Bibliothek zu Ihrem Projekt hinzuzufügen.
Klicken Sie abschließend auf "OK", um das Dialogfeld zu schließen.
Schritte zur einfachen Konvertierung von HTML in PDF in C++
Schritt 1 Einbindung der Bibliothek zur Konvertierung von HTML-Dateien
Fügen Sie zunächst die erforderlichen Header-Dateien ein, um die Funktionen der wkhtmltopdf-Bibliothek in Ihrem C++-Programm zu nutzen. Fügen Sie die folgenden Header-Dateien am Anfang der Quellcodedatei main.cpp ein, wie im folgenden Beispiel gezeigt:
Geben wir nun den HTML-Inhalt an, der in ein PDF konvertiert werden soll. Sie können entweder eine HTML-Datei laden oder die Zeichenfolge direkt eingeben.
Dim htmlString As String = "<html><body><h1>Hello, World!</h1></body></html>"
wkhtmltopdf_add_object(converter, os, htmlString.c_str())
Schritt 4 Konvertierung von HTML in PDF
Wenn der Konverter und der HTML-Inhalt fertig sind, können wir mit der Umwandlung der HTML- in eine PDF-Datei fortfahren. Verwenden Sie den folgenden Codeschnipsel:
wkhtmltopdf_convert(converter);
wkhtmltopdf_convert(converter);
wkhtmltopdf_convert(converter)
Schritt 5 Abrufen der Ausgabe als Speicherpuffer
Mit der Funktion wkhtmltopdf_get_output können wir die vorhandenen PDF-Daten als Speicherpufferstrom abrufen. Sie gibt auch die Länge der PDF-Datei zurück. Das folgende Beispiel wird diese Aufgabe erfüllen:
const unsigned char* pdfData;
const int pdfLength = wkhtmltopdf_get_output(converter, &pdfData);
const unsigned char* pdfData;
const int pdfLength = wkhtmltopdf_get_output(converter, &pdfData);
Sobald die Konvertierung abgeschlossen ist, müssen wir die erzeugte PDF-Datei auf der Festplatte speichern. Geben Sie den Dateipfad an, unter dem Sie die PDF-Datei speichern möchten. Öffnen Sie dann die Datei mit Hilfe eines Ausgabedateistroms im Binärmodus und schreiben Sie die pdfDaten in die Datei. Zum Schluss schließen Sie die Datei. Hier ist ein Code-Beispiel:
Nach der Umwandlung von HTML in PDF ist es wichtig, die von wkhtmltopdf zugewiesenen Ressourcen aufzuräumen. Verwenden Sie den folgenden Codeschnipsel:
Schritt 8 Ausführen des Codes und Erzeugen einer PDF-Datei
Erstellen Sie nun das Projekt und führen Sie den Code mit F9 aus. Die Ausgabe wird generiert und im Projektordner gespeichert. Die resultierende PDF-Datei sieht wie folgt aus:
HTML-Datei in PDF-Datei in C#;
IronPDF
IronPDF HTML-zu-PDF-Konvertierungsbibliothek ist eine robuste .NET- und .NET Core C#-Bibliothek, mit der Entwickler mühelos PDF-Dokumente aus HTML-Inhalten erzeugen können. Es bietet eine unkomplizierte und intuitive API, die den Prozess der Konvertierung von HTML-Webseiten in PDF vereinfacht, was es zu einer beliebten Wahl für verschiedene Anwendungen und Anwendungsfälle macht.
Einer der wichtigsten Vorteile von IronPDF ist seine Vielseitigkeit. Es unterstützt nicht nur die Konvertierung einfacher HTML-Dokumente, sondern auch komplexer Webseiten mit CSS-Styling, JavaScript-Interaktionen und sogar dynamischen Inhalten. Außerdem können Sie verschiedene PDF-Konverter mit schnellem Zugriff auf ihre Konvertierungsmethoden entwickeln.
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create PDF content from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create PDF content from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Create PDF content from an HTML string using C#
Private pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
Die PDF-Ausgabe:
Weitere Informationen über die Konvertierung verschiedener HTML-Dateien, Webseiten-URLs und Bilder in PDF finden Sie hierBeispiele für HTML-zu-PDF-Code.
Mit IronPDF wird die Generierung von PDF-Dateien aus HTML-Inhalten zu einer unkomplizierten Aufgabe in .NET-Framework-Sprachen. Die intuitive API und der umfangreiche Funktionsumfang machen es zu einem wertvollen Werkzeug für Entwickler, die eine KonvertierungHTML zu PDF in ihren C#-Projekten. Ob es um die Erstellung von Berichten, Rechnungen oder anderen Dokumenten geht, die eine präzise HTML-zu-PDF-Konvertierung erfordern, IronPDF ist eine zuverlässige und effiziente Lösung.
Bevor er Software-Ingenieur wurde, promovierte Kannapat an der Universität Hokkaido in Japan im Bereich Umweltressourcen. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Abteilung für Bioproduktionstechnik ist. Im Jahr 2022 wechselte er mit seinen C#-Kenntnissen zum Engineering-Team von Iron Software, wo er sich auf IronPDF konzentriert. Kannapat schätzt an seiner Arbeit, dass er direkt von dem Entwickler lernt, der den Großteil des in IronPDF verwendeten Codes schreibt. Neben dem kollegialen Lernen genießt Kannapat auch den sozialen Aspekt der Arbeit bei Iron Software. Wenn er nicht gerade Code oder Dokumentationen schreibt, kann man Kannapat normalerweise beim Spielen auf seiner PS5 oder beim Wiedersehen mit The Last of Us antreffen.