Diese Seite kann automatisch übersetzten Text enthalten.

HTML zu PDF für .NET

Sie können HTML mit der Docotic.Pdf-Bibliothek in PDF konvertieren. Das kostenlose HtmlToPdf-Add-on zur Bibliothek ermöglicht die Konvertierung von HTML, SVG, WEBP und anderen Webformaten in PDF.

Dieser Leitfaden beschreibt die vom Add-on bereitgestellten HTML-zu-PDF-Funktionen und enthält Links zu Seiten mit zusätzlichen Details zu den behandelten Themen.

Illustration der Abläufe in der HTML-zu-PDF-Bibliothek. Ein HTML-Dokument gelangt in die Bibliothek, die dann eine PDF-Ausgabe erzeugt.

Die Grundlagen von HTML zu PDF in C#

Sie benötigen das HtmlToPdf-Add-on, einen Konvertierungscode und einen Lizenzschlüssel. Sie können mit einem kostenlosen Testschlüssel beginnen.

Installieren Sie das Add-on über NuGet

Install-Package BitMiracle.Docotic.Pdf.HtmlToPdf

Dies ist der empfohlene Weg, da Abhängigkeiten und Updates automatisch verarbeitet werden. Sie können das Add-on auch manuell aus der ZIP mit den Docotic.Pdf-Binärdateien installieren, auch wenn das komplizierter und fehleranfälliger ist.

Erhalten Sie einen Lizenzschlüssel

Um die Bibliothek zu testen, beziehen Sie einen kostenlosen zeitlich begrenzten Lizenzschlüssel von der Docotic.Pdf-Download-Seite. Wenn Sie bereits eine Lizenz gekauft haben, verwenden Sie den Ihnen nach dem Kauf bereitgestellten Code.

Alle Docotic.Pdf-Lizenzen enthalten HTML-zu-PDF-Funktionen. Sie müssen keine zusätzliche Lizenz kaufen, um das Add-on zu verwenden.

Fügen Sie den Konvertierungscode hinzu

BitMiracle.Docotic.LicenseManager.AddLicenseData("PUT-LICENSE-HERE");

using var converter = await HtmlConverter.CreateAsync();
var html = "<h1>Hello, World<h1>";
using var pdf = await converter.CreatePdfFromStringAsync(html);
pdf.Save("output.pdf");

Ersetzen Sie im Code den Platzhalterwert im Aufruf der Methode AddLicenseData durch einen gültigen Lizenzschlüssel.

Führen Sie den Code aus

Der Konvertierungscode erstellt aus dem HTML-Code in der Zeichenfolge ein PDF. Mit den Standard-Konvertierungsoptionen enthält die Ausgabe eine A4-Seite.

Die Bibliothek bietet viele Optionen zur Anpassung der Konvertierung. Sie können die Ausgabegröße ändern oder Kopf- und Fußzeilen zu den generierten Seiten hinzufügen. Es ist auch möglich, Ressourcen zu konvertieren, die eine Authentifizierung erfordern.

Lesen Sie im separaten Artikel über die verschiedenen Möglichkeiten, HTML in PDF zu konvertieren, der jeden Ansatz ausführlich erklärt.

Warum Docotic.Pdf der richtige HTML-zu-PDF-Konverter ist?

Die Möglichkeit, Stile und Layout während der Konvertierung beizubehalten, macht Docotic.Pdf zur richtigen Wahl für die Erstellung von PDFs aus HTML-Berichten, Rechnungen und anderen Dokumenten. Die Bibliothek erzeugt pixelgenaue PDF-Dokumente aus HTML und anderen Webformaten wie SVG. Die Wiederverwendung vorhandener HTML-Inhalte ist mit der Bibliothek einfach.

Der Konverter verwendet die Rendering-Engine von Google Chrome. Das bedeutet denselben Grad an Webstandard-Konformität wie bei einem der besten Webbrowser.

Sie können mit Docotic.Pdf PDFs aus sehr komplexen Layouts mit modernem CSS, JavaScript und Bildern erzeugen. Responsive Webdesign wird ebenfalls sehr gut unterstützt.

Überblick über die API-Architektur

Die HTML-zu-PDF-API ist nur verfügbar, wenn Sie Docotic.Pdf zusammen mit dem kostenlosen HtmlToPdf-Add-on verwenden.

Das Add-on stellt eine ausschließlich asynchrone API bereit. Wir haben es für async-Eventhandler und async-Methoden entworfen. Dieses Design ermöglicht den reibungslosen Umgang mit lang laufenden Aufgaben, und die Medienkonvertierung ist ein ideales Beispiel für eine solche Aufgabe.

.NET-Versionen und Plattformunterstützung

Die Bibliothek und das Add-on zielen auf .NET Standard 2.0 ab. Das bedeutet, dass beide mit .NET 5 bis .NET 10 kompatibel sind. Darüber hinaus werden auch .NET Core 2.0+ und .NET Framework 4.6.1+ unterstützt.

Sie können die HTML-zu-PDF-Funktionen in Windows Forms, WPF, ASP.NET und Konsolenanwendungen verwenden. Das Add-on kann in Cloud-Umgebungen und in Docker-Containern ausgeführt werden.

Mit Hilfe des Add-ons können Sie in Windows-, macOS- und Linux-Umgebungen PDF aus HTML erzeugen.

Was geschieht während einer Konvertierung?

Standardmäßig besteht eine Konvertierung aus diesen Schritten:

  1. Ihr Code ruft die Methode CreateAsync der HtmlConverter-Klasse auf.
  2. Das Add-on prüft, ob im Ordner .local-chromium im aktuellen Arbeitsverzeichnis eine geeignete Version von Google Chrome vorhanden ist.
  3. Wenn keine geeignete Version vorhanden ist, lädt das Add-on eine herunter und entpackt sie in den Ordner .local-chromium.
  4. Wenn Ihr Code die Methode CreatePdfAsync oder CreatePdfFromStringAsync aufruft, verwendet das Add-on Google Chrome, um das bereitgestellte HTML zu laden.
  5. Wenn der Inhalt für die Konvertierung bereit ist, weist das Add-on den Browser an, ein PDF zu erzeugen.
  6. Google Chrome erzeugt das PDF unter Verwendung der Rendering-Funktionen von Chromium.
  7. Das Add-on gibt ein PdfDocument mit dem erzeugten PDF an Ihren Code zurück.

Cloud-Plattformen und Docker-Images

Das HtmlToPdf-Add-on unterstützt Azure- und AWS-Cloud-Plattformen, einschließlich serverloser Umgebungen. Sie können die HTML-zu-PDF-API auch in Docker-Containern verwenden. Hier ist die Liste der unterstützten Umgebungen:

  • Azure: Azure Functions, Azure App Service, Azure VPS
  • Amazon Web Services: AWS ECS, Amazon EC2
  • Docker: Windows- und Linux-Container.

Die Bibliothek und das Add-on unterstützen dynamische Hardwareänderungen, automatische Skalierung und andere cloud-native Laufzeitfunktionen vollständig.

Weitere Informationen finden Sie im Artikel über die Ausführung des Add-ons in Clouds und in Docker-Images.

In den meisten Cloud-Szenarien ist eine ungebundene Lizenz erforderlich. Die Lizenz-FAQ erklärt, wie Sie die geeignete Lizenz für Cloud-Apps auswählen.

So generieren Sie PDF aus einer HTML-Vorlage

Befolgen Sie diese einfachen Schritte:

  1. Rufen Sie die Daten für die Vorlage ab.
  2. Füllen Sie die Vorlage mit den Daten, um ein vollständiges HTML zu erzeugen.
  3. Verwenden Sie Docotic.Pdf, um das vollständige HTML in PDF zu konvertieren.

Illustration der PDF-Erstellung aus einer HTML-Vorlage. Platzhalterdaten vervollständigen die Vorlage, bevor sie in PDF konvertiert wird.

Vorlagendaten stammen normalerweise aus einer Datenbank oder aus einer API-Antwort. Bei einer Datenbank kann es sich um einen einzelnen Datensatz oder um einen Satz von Datensätzen handeln. Bei einer API ist es oft ein JSON-Objekt, das eine oder mehrere Entitäten beschreibt.

Für die folgenden Beispiele verwende ich diese fiktive Person:

var person = new
{
    Name = "Alice Johnson",
    Age = 27,
    Email = "alicej@example.com",
    Occupation = "Truck driver"
};

Jetzt, da ich die Daten habe, stelle ich drei Möglichkeiten zum Vorbereiten und Ausfüllen einer HTML-Vorlage vor. In allen drei Fällen ist das resultierende vollständige HTML gleich, auch wenn die entsprechenden Vorlagen unterschiedlich sind.

Verwenden Sie zum Konvertieren des vollständigen HTML den Code, den ich bereits bereitgestellt habe.

Benannte Platzhalter

Benannte Platzhalter sind Token, die in doppelte Trennzeichen eingeschlossen sind und nicht-alphanumerische Symbole verwenden. Eines der kollisionsärmsten Trennzeichen ist %%.

Hier ist eine Vorlage mit benannten Platzhaltern samt dem Code, der daraus vollständiges HTML erzeugt:

var template = @"<head><title>%%NAME%%'s Profile</title></head>
<body>
    <h1>%%NAME%%</h1>
    <p><strong>Age:</strong> %%AGE%%</p>
    <p><strong>Email:</strong> %%EMAIL%%</p>
    <p><strong>Occupation:</strong> %%OCCUPATION%%</p>
</body></html>";

var completeHtml = template
    .Replace("%%NAME%%", person.Name)
    .Replace("%%AGE%%", person.Age.ToString())
    .Replace("%%EMAIL%%", person.Email)
    .Replace("%%OCCUPATION%%", person.Occupation);

Die Verwendung benannter Platzhalter ist in den meisten Fällen der empfohlene Ansatz. Denken Sie jedoch daran, jeden Wert zu escapen, den Sie anstelle von Platzhaltern einsetzen.

Template-Engines

Wenn Ihre Vorlage sehr komplex ist und/oder wiederverwendbare Teile erfordert, sind benannte Platzhalter möglicherweise nicht sehr praktisch. Verwenden Sie stattdessen eine Template-Engine wie Handlebars.Net.

Hier ist ein Beispiel, das eine andere Vorlage und einen anderen Code verwendet, aber dasselbe HTML erzeugt:

var template = @"<head><title>{{name}}'s Profile</title></head>
<body>
    <h1>{{name}}</h1>
    <p><strong>Age:</strong> {{age}}</p>
    <p><strong>Email:</strong> {{email}}</p>
    <p><strong>Occupation:</strong> {{occupation}}</p>
</body></html>";

var compiledTemplate = Handlebars.Compile(template);
var completeHtml = compiledTemplate(person);

Handlebars.Net-Vorlagen sind logiklos. Wenn Ihnen das zu restriktiv erscheint, probieren Sie Scriban aus. Es bietet Bedingungen, Schleifen, Ausdrücke, Funktionsaufrufe und mehr.

Positionale Platzhalter

Diese sind den benannten Platzhaltern sehr ähnlich, verwenden jedoch Positionsnummern statt Namen. Sie kennen sie aus Aufrufen der Methode string.Format.

var template = @"<head><title>{0}'s Profile</title></head>
<body>
    <h1>{1}</h1>
    <p><strong>Age:</strong> {2}</p>
    <p><strong>Email:</strong> {3}</p>
    <p><strong>Occupation:</strong> {4}</p>
</body></html>";

var completeHtml = string.Format(
    template, person.Name, person.Name,
    person.Age, person.Email, person.Occupation);

Ich empfehle, positionale Platzhalter nur in den einfachsten Fällen zu verwenden. Dafür gibt es zwei Gründe:

  • Wenn die Vorlage einen Wert mehrmals verwendet, müssen Sie diesen Wert im Aufruf mehrfach angeben.
  • Es ist zu einfach, die Reihenfolge in der Vorlage zu ändern und zu vergessen, den Code zu aktualisieren.

ASPX in PDF konvertieren

Verwenden Sie Docotic.Pdf zusammen mit dem kostenlosen HtmlToPdf-Add-on, um ASPX in PDF zu konvertieren. Der Prozess ist unkompliziert:

  • Stellen Sie eine Implementierung der Methode Render bereit, die das erzeugte HTML sammelt.
  • Lassen Sie die ASP.NET-Engine das HTML für die ASPX-Seite generieren, indem serverseitiger Code und Steuerelemente ausgeführt werden.
  • Konvertieren Sie das gesammelte HTML in PDF und geben Sie das PDF in der aktualisierten Antwort zurück.

Sehen Sie sich den Beispielcode an, um zu sehen, wie man in einer ASP.NET Web Forms-Anwendung eine PDF aus einer ASPX-Seite erzeugt. Die Beispielanwendung demonstriert den obigen Ablauf, indem sie eine Rechnung im HTML- oder PDF-Format erstellt. Sie können denselben Ansatz verwenden, um hochpräzise PDF-Versionen Ihrer Berichte, Abrechnungen und anderen Dokumente zu erzeugen.

SVG in PDF konvertieren

SVG-zu-Vektor-PDF-Konvertierungen sind mit dem HtmlToPdf-Add-on für die Docotic.Pdf-Bibliothek möglich. Sie können die Klasse HtmlConverter als SVG-zu-PDF-Konverter verwenden. Der folgende C#-Code zeigt eine Möglichkeit, die Konvertierung durchzuführen:

using var converter = await HtmlConverter.CreateAsync();
var uri = new Uri("https://bitmiracle.com/images/team.svg");
using var pdf = await converter.CreatePdfAsync(uri);
pdf.Save("output.pdf");

Das Ergebnis des obigen Codes ist ein hochwertiges Vektor-PDF. Der vom HtmlToPdf-Add-on bereitgestellte Konverter verwendet die in SVG angegebene Breite und Höhe, um das Seitenverhältnis zu bestimmen. Je nach SVG-Größe kann der Konverter die SVG proportional skalieren, damit sie auf die PDF-Seite passt.

Optionen, die die Ausgabegröße beeinflussen

Um ein PDF in einer anderen Größe zu erzeugen, legen Sie die Seitengröße und/oder die Ränder fest. Das konvertierte SVG kann dennoch proportional skaliert werden.

Eine weitere Möglichkeit besteht darin, die Breite und/oder Höhe von SVG im HTML-Code anzugeben und dieses HTML zu konvertieren. In der Ausgabe hat das Bild die angegebene Größe. Wenn die Größe größer als die PDF-Seite ist, sind einige Teile des Bildes nicht sichtbar.

using var converter = await HtmlConverter.CreateAsync();
var html = $"<img src='https://bitmiracle.com/images/team.svg' width='200' />";
using var pdf = await converter.CreatePdfFromStringAsync(html);
pdf.Save("output.pdf");

SVG-Datei in PDF

Um eine SVG-Datei in PDF zu konvertieren, erstellen Sie eine Datei-Uri und übergeben Sie sie an die Methode CreatePdfAsync. Eine andere Möglichkeit besteht darin, ein HTML-Snippet mit einem img-Tag zu erstellen und dieses Snippet mit der Methode CreatePdfFromStringAsync zu verwenden. Wenn Sie in HTML-Code relative Pfade verwenden, geben Sie die Basis-URL über die Konvertierungsoptionen an.

Um mehrere SVG-Dateien in PDF zu konvertieren, erstellen Sie ein HTML-Snippet mit mehreren img-Tags und verwenden Sie es mit der Methode CreatePdfFromStringAsync. Wenn sich alle Dateien im selben Ordner befinden, empfehle ich, im HTML-Code relative Pfade zu verwenden und die Basis-URL anzugeben.

SVG zu PDF hinzufügen

Beginnen Sie damit, das SVG mit einer der HtmlConverter-Methoden in PDF zu konvertieren.

using var converter = await HtmlConverter.CreateAsync();
var uri = new Uri("https://bitmiracle.com/images/quote.svg");
using var svgPdf = await converter.CreatePdfAsync(uri);

Sie können dann entweder den Inhalt des erzeugten PDFs auf ein anderes Dokument legen oder das Dokument mit einem anderen PDF zusammenführen.

Um SVG auf PDF zu überlagern, erstellen Sie aus der ersten Seite des konvertierten Dokuments ein XObject und zeichnen Sie dieses XObject auf einer PDF-Seite in einem anderen Dokument. So:

using var pdf = new PdfDocument("some-other.pdf");
var xObj = pdf.CreateXObject(svgPdf.Pages[0]);

pdf.Pages[0].Canvas.DrawXObject(xObj, 0, 0);
pdf.Save("output.pdf");

Um SVG in PDF zusammenzuführen, kombinieren Sie das konvertierte PDF-Dokument mit einem anderen PDF unter Verwendung einer der verfügbaren Zusammenführungsansätze.

WEBP in PDF konvertieren

WebP ist ein Webformat, daher können Sie es mit Docotic.Pdf und dem HtmlToPdf-Add-on in PDF konvertieren. Der folgende C#-Code zeigt, wie Sie WebP in hoher Qualität in PDF konvertieren:

using var converter = await HtmlConverter.CreateAsync();
var html = $"<img src='https://bitmiracle.com/pdf-library/images/edit/reorder-pages.webp'/>";
using var pdf = await converter.CreatePdfFromStringAsync(html);
pdf.Save("output.pdf");

Der obige Code spezifiziert für das img-Tag keine Attribute width oder height, aber es ist sinnvoll, sie anzugeben. Beachten Sie, dass, wenn die von Ihnen angegebene Bildgröße größer als die PDF-Seite ist, einige Teile des Bildes nicht sichtbar sind.

Da WebP ein Rasterformat ist, lässt es sich nicht gut hochskalieren. Ich empfehle, Bilder in der maximalen Größe und Auflösung zu verwenden, die Sie voraussichtlich benötigen.

Um eine WebP-Datei in PDF zu konvertieren, verwenden Sie denselben Code. Wenn Ihr HTML relative Pfade verwendet, geben Sie die Basis-URL über die Ladeoptionen an. Verwenden Sie beim Konvertieren lokaler Bilder eine Datei-Uri als Basis-URL.

XML mit XSLT in PDF konvertieren

Um XML in PDF zu konvertieren, transformieren Sie das XML zunächst mit einer XSLT-Transformation in HTML. Konvertieren Sie dann das resultierende HTML mit Docotic.Pdf und dem HtmlToPdf-Add-on in PDF.

Hier ist der C#-Code zur XML-zu-PDF-Konvertierung:

var transform = CreateTransform("invoice.xsl");
var html = TransformToHtml("invoice.xml", transform);

using var converter = await HtmlConverter.CreateAsync();
using var pdf = await converter.CreatePdfFromStringAsync(html);
pdf.Save("invoice.pdf");

Der Code:

  • Erstellt in der ersten Zeile ein XSLT-Transformationsobjekt.
  • Transformiert in der zweiten Zeile die XML-Datei in ein HTML-Dokument.
  • Konvertiert auf den verbleibenden Zeilen das Transformationsergebnis (die HTML-Zeichenfolge) in PDF.

Werfen wir einen genaueren Blick auf die ersten beiden Punkte. Der dritte Punkt wird in diesem Abschnitt vollständig behandelt.

Eine XSLT-Transformation erstellen

Der erste Schritt im Konvertierungsprozess besteht darin, ein XSLT-Transformationsobjekt zu erstellen. Der folgende Code zeigt, wie ein solches Objekt erstellt wird:

public static XslCompiledTransform CreateTransform(string xsltFileName)
{
    var transform = new XslCompiledTransform();
    transform.Load(xsltFileName);
    return transform;
}

Wie der Name schon andeutet, kompiliert XslCompiledTransform das bereitgestellte Stylesheet und erzeugt daraus IL-Code. Wenn Ihr Code XML in großen Mengen in PDF transformieren muss, verwenden Sie dasselbe Transformationsobjekt erneut, um die Leistung zu verbessern.

XML in HTML transformieren

Der zweite Schritt besteht darin, mit dem im vorherigen Schritt erstellten XSLT-Transformationsobjekt HTML aus dem XML zu erzeugen.

public static string TransformToHtml(string xmlFileName, XslCompiledTransform transform)
{
    using var xmlReader = XmlReader.Create(xmlFileName);
    using var sw = new StringWriter();
    using var writer = XmlWriter.Create(sw, transform.OutputSettings);
    transform.Transform(xmlReader, null, writer);
    return sw.ToString();
}

Der Code verwendet XmlReader und XmlWriter, weil sie sich gut für große XML-Dateien eignen und den Speicherverbrauch niedrig halten.

Beispielcode für die XML-zu-PDF-Konvertierung

Unser Samples-Repository enthält C#- und VB.NET-Versionen einer Beispielanwendung, die eine XML-Rechnung in ein PDF konvertiert. Die Beispielanwendung enthält eine Beispiel-XML-Rechnung und das entsprechende XSLT-Stylesheet.

Wenn Sie in einem modernen Browser zu einer URL navigieren, die XML zurückgibt, kann der Browser das zugehörige XSLT (falls vorhanden) automatisch anwenden, um lesbares HTML zu erzeugen und anzuzeigen. Das funktioniert nur, wenn sowohl die XML- als auch die XSLT-Dateien auf demselben Server gehostet werden. Um Cross-Origin-Anfragen zu verhindern, lädt oder wendet der Browser das Stylesheet nicht an, wenn Sie die XML-Datei direkt aus dem lokalen Dateisystem öffnen.

Kompromisse und alternative Möglichkeiten zur PDF-Erstellung

Die HTML-zu-PDF-API ist nicht die einzige Möglichkeit, mit Docotic.Pdf PDFs zu erzeugen, und sie ist nicht immer die effizienteste. Dieser Abschnitt beschreibt die Alternativen, damit Sie die richtige Option für Ihr Szenario wählen können.

Illustration der Möglichkeiten zur PDF-Erstellung: mit HTML zu PDF, der Canvas API, vorlagenbasierter Generierung, der Layout API und der Zusammensetzung.

Wann HTML zu PDF die richtige Wahl ist

Wählen Sie den HTML-zu-PDF-Ansatz, wenn Ihr Team Dokumente bereits mit HTML/CSS erstellt. Insbesondere, wenn Ihre Dokumente Webseiten ähneln: Rechnungen, Bestellungen, Zertifikate, Quittungen und Ähnliches.

Das HtmlToPdf-Add-on ermöglicht es Teams, vorhandene HTML/CSS-Vorlagen wiederzuverwenden und von Layout- und Rendering-Funktionen mit hoher Wiedergabetreue zu profitieren. Mit dem Add-on kann der Weg zu hochwertiger PDF-Ausgabe am schnellsten sein.

Zu beachtende Einschränkungen

Die HTML-zu-PDF-API verwendet die HTML-Rendering-Engine von Google Chrome. Diese Engine ist leistungsfähig, bringt aber auch Overhead mit sich. Eine typische HTML-zu-PDF-Konvertierung verbraucht mehr CPU und Arbeitsspeicher als beispielsweise das direkte Zeichnen auf eine PDF-Seitenfläche. Dieser Overhead kann die Massengenerierung mit hohem Volumen verlangsamen.

Die Browser-Engine erhöht außerdem den Laufzeitbedarf, was in minimalen Docker-Images oder eingeschränkten Umgebungen unerwünscht sein kann. Beispielsweise funktioniert die API möglicherweise nicht in serverlosen Umgebungen mit sehr strikten Grenzen für Speicherverbrauch und Ausführungszeit.

Weitere Möglichkeiten zum Erstellen von PDFs in Docotic.Pdf

Die Docotic.Pdf-Bibliothek bietet mehrere andere Möglichkeiten zum Erstellen von Dokumenten, die jeweils für unterschiedliche Anforderungen geeignet sind:

  • Direkte PDF-Generierung über die Canvas API
    Ideal für strukturierte, vorhersagbare Layouts wie Tickets, Etiketten oder Formulare. Bietet maximale Leistung und vollständige Kontrolle über Koordinaten, Typografie und Platzierung der Inhalte.

  • Vorlagenbasierte PDF-Generierung
    Oft die beste Wahl, wenn Sie mit freigegebenen, compliance-kontrollierten Vorlagen arbeiten. Sie gehen von einem vorhandenen PDF aus und füllen Felder, ersetzen Platzhalter und hängen bei Bedarf zugehörige Dokumente an.

  • PDF-Generierung mit der Layout API
    Stellt Bausteine wie Seiten, Container, Bilder, Textabsätze und andere Layoutelemente bereit. Sie beschreiben das PDF-Layout vollständig im Code mit einer fluent API, und die Bibliothek erzeugt daraus das PDF.

  • Zusammensetzung aus anderen PDFs und Bildern
    Bietet eine schlanke Möglichkeit, Abrechnungen, Berichte, Dokumentpakete und andere Dokumente aus vorhandenen PDFs und Bildern zusammenzustellen. Sie konvertieren Bilder in PDF-Seiten, kombinieren mehrere PDFs, hängen Seiten an oder verwenden Fragmente erneut.

Vergleich mit anderen HTML-zu-PDF-Lösungen

Um Ihnen bei der Auswahl der richtigen HTML-zu-PDF-Bibliothek für .NET zu helfen, finden Sie hier Informationen dazu, wie Docotic.Pdf mit dem HtmlToPdf-Add-on im Vergleich zu anderen gängigen Lösungen zur Konvertierung von HTML in PDF abschneidet.

Wesentliche Erkenntnisse aus dem Vergleich

Die meisten browserbasierten Lösungen liefern hochwertiges Rendering und unterstützen modernes HTML, CSS und JavaScript vollständig. Es gibt jedoch wichtige Unterschiede.

Lösung Wann verwenden Am besten geeignet für
Docotic.Pdf mit dem HtmlToPdf-Add-on Konvertierung von Berichten, Rechnungen und Belegen mit pixelgenauer visueller Treue Software auf professionellem Niveau, die sowohl HTML-zu-PDF-Konvertierung als auch PDF-Bearbeitung benötigt, unterstützt durch professionellen Support
Puppeteer Wenn modernes HTML/CSS/JS-Rendering mit Browser-Treue erforderlich ist und nur HTML-zu-PDF-Ausgabe benötigt wird Pixelgenaue HTML-zu-PDF-Generierung mit kostenlosen oder Open-Source-Anforderungen
IronPDF Wenn Ihr Team über eine Iron Suite-Lizenz verfügt oder bereits Erfahrung mit IronPDF hat Teams, die sich auf mehrere Iron-Softwarekomponenten stützen
wkhtmltopdf Wenn ein vergleichsweise geringer Footprint erforderlich ist und Ihr HTML/CSS einfach ist und keine externen oder nicht vertrauenswürdigen Referenzen enthält Legacy-Kompatibilität mit Systemen, die bereits wkhtmltopdf verwenden

Detaillierter Vergleich

Prüfen Sie die Informationen in der Tabelle, um das Gesamtbild zu erhalten und Ihre eigenen Schlüsse zu ziehen.

  Docotic.Pdf mit HtmlToPdf Puppeteer IronPDF wkhtmltopdf
Engine Headless Chrome Headless Chrome / Chromium Headless Chrome Veraltetes Qt WebKit
Rendering-Treue Pixelgenau Pixelgenau Pixelgenau Pixelgenau mit Eigenheiten und Einschränkungen
HTML5-Unterstützung Vollständig Vollständig Vollständig Teilweise und eingeschränkt
CSS3-Unterstützung Vollständig Vollständig Vollständig Extrem eingeschränkt
JavaScript-Unterstützung Vollständig Vollständig Vollständig Teilweise und veraltet
Integration mit .NET-Code Async-.NET-API Async-.NET-API bei Verwendung von PuppeteerSharp; andernfalls Node.js-Skripte. Async-.NET-API Befehlszeilenprozess oder C#-Wrapper-Bibliothek (z. B. DinkToPdf)
PDF-Funktionen über die HTML-Konvertierung hinaus Umfangreich Keine Eingeschränkt Keine
Supportart Professioneller Support für Interessenten und Kunden Nur Community-Support Professioneller Support für Interessenten und Kunden Nur Community-Support
Supportverfügbarkeit Garantierte Antwortzeiten; Prioritäts-Support mit Lizenzen der höchsten Stufe Antworten von Freiwilligen; sponsorbasierter Prioritäts-Support für PuppeteerSharp verfügbar Garantierte Antwortzeiten; Prioritäts-Support mit Lizenzen der höchsten Stufe Keine formalen Support-Kanäle
Wartungsstatus Aktiv gepflegt Aktiv gepflegt Aktiv gepflegt Nicht mehr gepflegt
Lizenz Kommerziell, mit kostenlosen Lizenzen für geeignete Anwendungsfälle Apache-2.0; MIT für PuppeteerSharp Kommerziell LGPL-3.0; MIT für DinkToPdf
Weitergaberechte Gebührenfrei mit allen Lizenzen Gebührenfrei mit allen Lizenzen Nicht enthalten; erfordert einen separaten Kauf Gebührenfrei mit allen Lizenzen
Entwicklerlizenzierung Unbegrenzte Entwickler mit allen Lizenzen Unbegrenzte Entwickler mit allen Lizenzen Abhängig von der Lizenzstufe; unbegrenzt nur in der höchsten Lizenzstufe Unbegrenzte Entwickler mit allen Lizenzen
Online-Lizenzprüfung Keine Online-Lizenzprüfung erforderlich Es findet keine Online-Lizenzprüfung statt Erforderlich für alle außer der Premium-Lizenz Es findet keine Online-Lizenzprüfung statt

Abschluss

Docotic.Pdf mit dem HtmlToPdf-Add-on bietet zuverlässige, hochwertige HTML-zu-PDF-Konvertierungen zusammen mit einer umfassenden PDF-API. Die Bibliothek eignet sich gut für die Erstellung von PDF-Berichten, Rechnungen, Belegen und anderen Geschäftsdokumenten aus HTML und bewahrt dabei pixelgenaue visuelle Treue.

Das Add-on stellt eine asynchrone .NET-API bereit, die vollständig on-premises ausgeführt wird. Ihre Daten verlassen niemals Ihre Server, sodass Sie die volle Kontrolle über Sicherheit und Datenschutz haben.

Über die HTML-zu-PDF-Konvertierung hinaus kann Docotic.Pdf den erzeugten PDFs Passwortschutz hinzufügen und sie mit digitalen Signaturen signieren, einschließlich LTV-fähiger Signaturen.

Sie können finale Dokumente durch Zusammenführen mehrerer erzeugter PDFs zusammenstellen. Wenn ein PDF nach der HTML-Konvertierung oder dem Zusammenführen zu groß wird, kann die Bibliothek doppelte Objekte innerhalb der Datei entfernen und andere Methoden anwenden, um die Dateigröße zu reduzieren. Um das Leseerlebnis zu verbessern, kann Docotic.Pdf PDFs auch für die Fast Web View optimieren (das PDF linearisieren).

Nächste Schritte:

Häufig gestellte Fragen

Wie wählt man eine HTML-zu-PDF-Bibliothek für .NET aus?

Bevor Sie eine Bibliothek auswählen, definieren und sammeln Sie Ihre Anforderungen. Sie sparen Zeit bei der Evaluierung, wenn Sie wissen, dass eine Kandidatenbibliothek konvertierte PDFs nicht zusammenführen kann und diese Funktion für Ihre Lösung erforderlich ist. Siehe den Vergleichsabschnitt für einen direkten Vergleich beliebter HTML-zu-PDF-Bibliotheken für .NET.

Warum wird mein HTML in PDF nicht korrekt gerendert?

Wenn Ihr HTML in Google Chrome korrekt aussieht, aber nicht im erzeugten PDF, prüfen Sie die Konvertierungsoptionen. Stellen Sie sicher, dass genügend Breite für den Inhalt vorhanden ist. Das HTML muss möglicherweise auch vor der Konvertierung JavaScript ausführen.

Warum HTML-Vorlagen statt direkter PDF-APIs verwenden?

Die Verwendung von HTML-Vorlagen macht Ihre Lösung beim Dokumentlayout sehr flexibel. Sie können das Erscheinungsbild Ihrer PDFs mithilfe der leistungsfähigen Styling-Möglichkeiten von HTML und CSS leicht ändern. Außerdem müssen Sie das Design Ihrer Online-Dokumente nicht mit einer PDF-API duplizieren.

Wie konvertiert man ASPX in PDF?

Um ASPX in PDF zu konvertieren, lassen Sie die ASP.NET-Engine das HTML für die ASPX-Seite erzeugen und konvertieren Sie dann dieses HTML mit der Docotic.Pdf-Bibliothek in PDF. Weitere Details finden Sie im entsprechenden Abschnitt.

Wie legt man ein SVG über ein PDF?

Um ein SVG über ein PDF zu legen, erzeugen Sie ein PDF aus dem SVG und erstellen Sie dann ein XObject aus der ersten Seite des erzeugten Dokuments. Da das XObject einen transparenten Hintergrund hat, können Sie es auf einer PDF-Seite in einem anderen Dokument platzieren.

Wie fügt man dem erzeugten PDF ein Wasserzeichen hinzu?

Um einem aus HTML erzeugten PDF-Dokument ein Wasserzeichen hinzuzufügen, erstellen Sie ein XObject, füllen Sie es mit dem Wasserzeicheninhalt und zeichnen Sie dann das XObject auf den Dokumentseiten. Für das Wasserzeichen können Sie Vektorgrafiken, Bilder und Text verwenden.

Ist Docotic.Pdf besser als wkhtmltopdf?

Docotic.Pdf unterstützt modernes HTML, CSS und JavaScript vollständig, während wkhtmltopdf bei modernen Webdokumenten oft inkonsistentes Rendering erzeugt. Darüber hinaus bietet Docotic.Pdf APIs über die HTML-zu-PDF-Konvertierung hinaus. Beispielsweise kann die Bibliothek PDFs mit LTV-fähigen digitalen Signaturen signieren, während wkhtmltopdf nur HTML konvertieren kann.