Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
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 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.
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.
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 herunterladen wkhtmltopdf website und installieren Sie es gemäß den Anweisungen Ihres Betriebssystems.
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.
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 "Erstellungsoptionen". Stellen Sie sicher, dass Sie "Debug" auswählen.
Wählen Sie im Dialogfeld "Erstellungsoptionen" die Registerkarte "Verzeichnisse suchen".
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.
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 "Erstellungsoptionen" 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.
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:
#include <iostream>
#include <fstream>
#include <string>
#include <wkhtmltox/pdf.h>
#include <iostream>
#include <fstream>
#include <string>
#include <wkhtmltox/pdf.h>
#include <iostream>
#include <fstream>
#include <string>
#include <wkhtmltox/pdf.h>
Um HTML in PDF zu konvertieren, müssen wir den wkhtmltopdf-Konverter initialisieren. Der Code lautet wie folgt:
wkhtmltopdf_init(false);
wkhtmltopdf_global_settings* gs = wkhtmltopdf_create_global_settings();
wkhtmltopdf_object_settings* os = wkhtmltopdf_create_object_settings();
wkhtmltopdf_converter* converter = wkhtmltopdf_create_converter(gs);
wkhtmltopdf_init(false);
wkhtmltopdf_global_settings* gs = wkhtmltopdf_create_global_settings();
wkhtmltopdf_object_settings* os = wkhtmltopdf_create_object_settings();
wkhtmltopdf_converter* converter = wkhtmltopdf_create_converter(gs);
wkhtmltopdf_init(False)
wkhtmltopdf_global_settings* gs = wkhtmltopdf_create_global_settings()
wkhtmltopdf_object_settings* os = wkhtmltopdf_create_object_settings()
wkhtmltopdf_converter* converter = wkhtmltopdf_create_converter(gs)
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.
string htmlString = "<html><body><h1>Hello, World!</h1></body></html>"; wkhtmltopdf_add_object(converter, os, htmlString.c_str());
string htmlString = "<html><body><h1>Hello, World!</h1></body></html>"; wkhtmltopdf_add_object(converter, os, htmlString.c_str());
Dim htmlString As String = "<html><body><h1>Hello, World!</h1></body></html>"
wkhtmltopdf_add_object(converter, os, htmlString.c_str())
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)
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);
const unsigned Char* pdfData
Const pdfLength As Integer = 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 des Ausgabedateistroms im Binärmodus und schreiben Sie die pdfData in die Datei. Zum Schluss schließen Sie die Datei. Hier ist ein Code-Beispiel:
const char* outputPath = "file.pdf";
ofstream outputFile(outputPath, ios::binary);
outputFile.write(reinterpret_cast<const char*>(pdfData), pdfLength);
outputFile.close();
const char* outputPath = "file.pdf";
ofstream outputFile(outputPath, ios::binary);
outputFile.write(reinterpret_cast<const char*>(pdfData), pdfLength);
outputFile.close();
const Char* outputPath = "file.pdf"
ofstream outputFile(outputPath, ios:=:=binary)
outputFile.write(reinterpret_cast<const Char*>(pdfData), pdfLength)
outputFile.close()
Nach der Umwandlung von HTML in PDF ist es wichtig, die von wkhtmltopdf zugewiesenen Ressourcen aufzuräumen. Verwenden Sie den folgenden Codeschnipsel:
wkhtmltopdf_destroy_converter(converter);
wkhtmltopdf_destroy_object_settings(os);
wkhtmltopdf_destroy_global_settings(gs);
wkhtmltopdf_deinit();
cout << "PDF saved successfully." << endl;
wkhtmltopdf_destroy_converter(converter);
wkhtmltopdf_destroy_object_settings(os);
wkhtmltopdf_destroy_global_settings(gs);
wkhtmltopdf_deinit();
cout << "PDF saved successfully." << endl;
wkhtmltopdf_destroy_converter(converter)
wkhtmltopdf_destroy_object_settings(os)
wkhtmltopdf_destroy_global_settings(gs)
wkhtmltopdf_deinit()
cout << "PDF saved successfully." << endl
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:
IronPDF 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. Darüber hinaus können Sie verschiedene PDF-Konverter mit schnellem Zugriff auf ihre Konvertierungsmethoden entwickeln.
Hier das Codebeispiel für die Konvertierung HTML-String zu PDF ironPDF in C# verwenden:
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create PDF content from a 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 a 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 a 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 hier code-Beispielseite.
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 Konvertierung HTML 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.
IronPDF ist für Entwicklungszwecke kostenlos, aber für die kommerzielle Nutzung muss es lizenziert werden. Sie bietet auch eine kostenloser Test für die kommerzielle Nutzung, um seine vollständige Funktionalität zu testen. Sie können die Software herunterladen von hier.
9 .NET API-Produkte für Ihre Bürodokumente