Diese Seite kann automatisch übersetzten Text enthalten.

HTML zu PDF für .NET

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

Diese Anleitung beschreibt die Funktionen des Add-ons zur HTML-zu-PDF-Konvertierung und enthält Links zu Seiten mit weiterführenden Informationen.

Illustration der Prozesse innerhalb der HTML-zu-PDF-Bibliothek. Ein HTML-Dokument wird in die Bibliothek eingegeben, die daraufhin eine PDF-Ausgabe generiert.

Die Grundlagen der HTML-zu-PDF-Konvertierung in C#

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

Installieren Sie das Add-on von NuGet.

Install-Package BitMiracle.Docotic.Pdf.HtmlToPdf

Dies ist die empfohlene Methode, da sie Abhängigkeiten und Aktualisierungen automatisch verwaltet. Sie können das Add-on zwar auch manuell aus der ZIP-Datei mit den Docotic.Pdf-Binärdateien installieren, dies ist jedoch komplizierter und fehleranfälliger.

Lizenzschlüssel anfordern

Um die Bibliothek zu testen, laden Sie sich einen kostenlosen, zeitlich begrenzten Lizenzschlüssel von der Docotic.Pdf-Downloadseite herunter. Falls Sie bereits eine Lizenz erworben haben, verwenden Sie den Ihnen nach dem Kauf zugesandten Code.

Alle Docotic.Pdf-Lizenzen beinhalten die HTML-zu-PDF-Funktion. Für die Nutzung des Add-ons ist keine zusätzliche Lizenz erforderlich.

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ühre den Code aus

Der Konvertierungscode erstellt aus dem HTML-Code im String eine PDF-Datei. Mit den Standardoptionen umfasst die Ausgabe eine Seite im A4-Format.

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

Lesen Sie mehr über die verschiedenen Methoden zur Konvertierung von HTML in PDF im entsprechenden Artikel. Dort wird jeder Ansatz ausführlich erläutert.

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

Dank der Möglichkeit, Stile und Layouts bei der Konvertierung beizubehalten, ist Docotic.Pdf die ideale Wahl für die PDF-Erstellung 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 ganz einfach.

Der Konverter nutzt die Rendering-Engine von Google Chrome. Dadurch wird die gleiche hohe Webstandard-Konformität wie bei einem der besten Webbrowser gewährleistet.

Mit Docotic.Pdf können Sie PDFs aus sehr komplexen Layouts mit modernem CSS, JavaScript und Bildern erstellen. Auch responsives Webdesign wird optimal unterstützt.

API-Architekturübersicht

Die HTML-zu-PDF-API ist nur in Verbindung mit Docotic.Pdf und dem kostenlosen Add-on HtmlToPdf verfügbar.

Das Add-on bietet eine ausschließlich asynchrone API. Sie ist für die Verwendung mit asynchronen Ereignisbehandlern und Methoden optimiert. Dadurch lassen sich auch zeitaufwändige Aufgaben problemlos ausführen. Die Medienkonvertierung ist hierfür ein ideales Beispiel.

.NET-Versionen und Plattformunterstützung

Die Bibliothek und das Add-on sind für .NET Standard 2.0 ausgelegt. Das bedeutet, dass beide mit .NET 5 bis .NET 10 kompatibel sind. Zusätzlich werden .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 nutzen. Das Add-on kann in Cloud-Umgebungen und Docker-Containern ausgeführt werden.

Was geschieht während einer Konvertierung?

Standardmäßig besteht eine Konvertierung aus folgenden Schritten:

  1. Ihr Code ruft die Methode CreateAsync der Klasse HtmlConverter auf.
  2. Das Add-on prüft, ob eine geeignete Version von Google Chrome im Ordner .local-chromium im aktuellen Arbeitsverzeichnis vorhanden ist.
  3. Falls keine geeignete Version vorhanden ist, lädt das Add-on eine herunter und entpackt sie im Ordner .local-chromium.
  4. Wenn Ihr Code die Methode CreatePdfAsync oder CreatePdfFromStringAsync aufruft, lädt das Add-on den bereitgestellten HTML-Code mit Google Chrome.
  5. Sobald der Inhalt zur Konvertierung bereit ist, weist das Add-on den Browser an, eine PDF-Datei zu erstellen.
  6. Google Chrome generiert die PDF-Datei mithilfe der Rendering-Funktionen von Chromium.
  7. Das Add-on gibt ein PdfDocument zurück, das die erzeugte PDF-Datei enthält und an Ihren Code übergeben wird.

Cloud-Plattformen und Docker-Images

Das HtmlToPdf-Add-on unterstützt die Cloud-Plattformen Azure und AWS, 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, Autoscaling und weitere Cloud-native Laufzeitfunktionen.

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

Welche Lizenztypen werden für Cloud-Anwendungen unterstützt?

In den meisten Fällen benötigen Sie eine ungebundene Lizenz (Ultimate oder Ultimate+). Eine Serverlizenz kann ebenfalls funktionieren, sofern sich die Hardware-ID nicht ändert.

Serverlizenzen sind an die Hardware-ID des Servers gebunden. Ändert sich die Hardware zwischen den Ausführungen oder Neustarts, verliert die Serverlizenz ihre Gültigkeit. Sie funktioniert auch nicht in Umgebungen, in denen sich die Anzahl der Server dynamisch ändert, da jeder Produktionsserver eine eigene Lizenz benötigt.

Um sicherzustellen, dass die Hardware-ID Ihres Servers konsistent bleibt, können Sie den Wert der Eigenschaft LicenseManager.Uid überprüfen. Alternativ können Sie unsere Anwendung UID-Generator verwenden, um dieselbe ID abzurufen.

Wie man aus einer HTML-Vorlage eine PDF-Datei generiert

Folgen Sie diesen einfachen Schritten:

  1. Laden Sie die Daten für die Vorlage herunter.
  2. Füllen Sie die Vorlage mit den Daten, um eine vollständige HTML-Datei zu erstellen.
  3. Konvertieren Sie die HTML-Datei mit Docotic.Pdf in eine PDF-Datei.

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

Die Vorlagendaten stammen üblicherweise aus einer Datenbank oder einer API-Antwort. Bei einer Datenbank kann es sich um einen einzelnen Datensatz oder eine Gruppe von Datensätzen handeln. Bei einer API ist es häufig ein JSON-Objekt, das eine oder mehrere Entitäten beschreibt.

Für die folgenden Beispiele werde ich diese fiktive Person verwenden:

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

Nachdem ich nun die Daten habe, stelle ich drei Möglichkeiten zum Erstellen und Befüllen einer HTML-Vorlage vor. In allen drei Fällen ist der resultierende HTML-Code identisch, obwohl die verwendeten Vorlagen unterschiedlich sind.

Verwenden Sie zum Konvertieren des vollständigen HTML-Codes den bereits bereitgestellten Code.

Benannte Platzhalter

Benannte Platzhalter sind Token, die von doppelten Begrenzern mit nicht-alphanumerischen Symbolen umschlossen werden. Einer der kollisionsresistentesten Begrenzer ist %%.

Hier ist eine Vorlage mit benannten Platzhaltern sowie der Code, der daraus vollständigen HTML-Code 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 empfehlenswert. Denken Sie jedoch daran, alle Werte, die Sie anstelle der Platzhalter einfügen, zu maskieren.

Template-Engines

Wenn Ihre Vorlage sehr komplex ist und/oder wiederverwendbare Teile benötigt, sind benannte Platzhalter möglicherweise nicht optimal. Versuchen Sie stattdessen eine Template-Engine wie Handlebars.NET.

Hier ist ein Beispiel, das eine andere Vorlage und anderen Code verwendet, aber denselben HTML-Code 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 logikfrei. Falls Ihnen das zu einschränkend erscheint, probieren Sie Scriban. Es bietet Bedingungen, Schleifen, Ausdrücke, Funktionsaufrufe und vieles mehr.

Positionsplatzhalter

Diese ähneln benannten Platzhaltern, verwenden aber Positionsnummern anstelle von Namen. Sie kennen sie aus Aufrufen der string.Format-Methode.

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 Ihnen, Positionsplatzhalter nur in sehr einfachen Fällen zu verwenden. Hier einige Gründe:

  • Wenn ein Wert in der Vorlage mehrfach verwendet wird, muss dieser Wert im Aufruf mehrfach angegeben werden.
  • Es ist leicht, die Reihenfolge in der Vorlage zu ändern, aber zu vergessen, den Code entsprechend anzupassen.

ASPX in PDF konvertieren

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

  • Implementieren Sie die Render-Methode, die den generierten HTML-Code sammelt.
  • Lassen Sie die ASP.NET-Engine den HTML-Code für die ASPX-Seite generieren, indem serverseitiger Code und Steuerelemente ausgeführt werden.
  • Konvertieren Sie den gesammelten HTML-Code in PDF und geben Sie die PDF-Datei in der aktualisierten Antwort zurück.

Im Beispielcode sehen Sie, wie Sie in einer ASP.NET Web Forms-Anwendung eine PDF-Datei aus einer ASPX-Seite erstellen. Die Beispielanwendung demonstriert den oben beschriebenen Prozess anhand der Erstellung einer Rechnung im HTML- oder PDF-Format. Sie können denselben Ansatz verwenden, um hochwertige PDF-Versionen Ihrer Berichte, Kontoauszüge und anderer Dokumente zu erstellen.

SVG in PDF konvertieren

SVG-Dateien lassen sich mit dem Add-on HtmlToPdf für die Docotic.Pdf-Bibliothek in Vektor-PDFs konvertieren. Die Klasse HtmlConverter kann als SVG-zu-PDF-Konverter verwendet werden. Der folgende C#-Code zeigt eine Möglichkeit zur Durchführung der Konvertierung:

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 Konverter des Add-ons HtmlToPdf verwendet die im SVG-Code angegebene Breite und Höhe, um das Seitenverhältnis zu bestimmen. Je nach Größe des SVG-Codes skaliert der Konverter diesen gegebenenfalls proportional, um ihn an die PDF-Seite anzupassen.

Optionen, die die Ausgabegröße beeinflussen

Um eine PDF-Datei in einer anderen Größe zu erstellen, legen Sie die Seitengröße und/oder die Seitenränder fest. Die konvertierte SVG-Datei kann weiterhin proportional skaliert werden.

Alternativ können Sie die Breite und/oder Höhe der SVG-Datei im HTML-Code angeben und diesen HTML-Code konvertieren. In der Ausgabe hat das Bild die angegebene Größe. Ist die Größe größer als die PDF-Seite, sind 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 konvertieren

Um eine SVG-Datei in PDF zu konvertieren, erstellen Sie eine Datei-URI und übergeben Sie diese an die Methode CreatePdfAsync. Alternativ können Sie einen HTML-Codeausschnitt mit einem img-Tag erstellen und diesen mit der Methode CreatePdfFromStringAsync verwenden. Wenn Sie relative Pfade im HTML-Code verwenden, geben Sie die Basis-URL in den Konvertierungsoptionen an.

Um mehrere SVG-Dateien in PDF zu konvertieren, erstellen Sie einen HTML-Codeausschnitt mit mehreren img-Tags und verwenden Sie diesen mit der Methode CreatePdfFromStringAsync. Befinden sich alle Dateien im selben Ordner, empfiehlt es sich, relative Pfade im HTML-Code zu verwenden und die Basis-URL anzugeben.

SVG zu PDF hinzufügen

Beginnen Sie damit, die SVG-Datei mithilfe einer der HtmlConverter-Methoden in eine PDF-Datei 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);

Anschließend können Sie den Inhalt der erstellten PDF-Datei entweder über ein anderes Dokument legen oder das Dokument mit einer anderen PDF-Datei zusammenführen.

Um eine SVG-Datei über eine PDF-Datei zu legen, erstellen Sie ein XObject aus der ersten Seite des konvertierten Dokuments und zeichnen Sie dieses XObject über eine PDF-Seite in einem anderen Dokument. Zum Beispiel 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 eine SVG-Datei in eine PDF-Datei einzufügen, kombinieren Sie das konvertierte PDF-Dokument mit einer anderen PDF-Datei mithilfe einer der verfügbaren Zusammenführungsmethoden.

WEBP in PDF konvertieren

WebP ist ein Webformat, das Sie mit Docotic.Pdf und dem Add-on HtmlToPdf in PDF konvertieren können. Der folgende C#-Code zeigt, wie Sie WebP in PDF in hoher Qualität 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 definiert keine width- oder height-Attribute für das img-Tag. Es empfiehlt sich jedoch, diese anzugeben. Beachten Sie, dass bei einer Bildgröße, die größer als die PDF-Seite ist, Teile des Bildes nicht sichtbar sind.

Da WebP ein Rasterformat ist, lässt es sich nicht gut skalieren. Ich empfehle, Bilder in der maximal benötigten Größe und Auflösung zu verwenden.

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 mithilfe von XSLT in PDF konvertieren

Um XML in PDF zu konvertieren, wandeln Sie das XML zunächst mithilfe einer XSLT-Transformation in HTML um. Anschließend konvertieren Sie das resultierende HTML mit Docotic.Pdf und dem Add-on HtmlToPdf in PDF.

Hier ist der C#-Code für die 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 in den verbleibenden Zeilen das Transformationsergebnis (den HTML-String) in PDF.

Betrachten wir die ersten beiden Punkte genauer. Der dritte Punkt wird in diesem Abschnitt ausführlich behandelt.

Erstellen Sie eine XSLT-Transformation

Der erste Schritt im Konvertierungsprozess ist die Erstellung eines XSLT-Transformationsobjekts. Der folgende Code veranschaulicht die Erstellung eines solchen Objekts:

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

Wie der Name schon sagt, kompiliert XslCompiledTransform das bereitgestellte Stylesheet und erzeugt daraus IL-Code. Wenn Ihr Code XML-Dateien in großen Mengen in PDF konvertieren muss, können Sie dasselbe Transformationsobjekt wiederverwenden, um die Leistung zu verbessern.

XML in HTML umwandeln

Im zweiten Schritt wird aus dem XML mithilfe des im vorherigen Schritt erstellten XSLT-Transformationsobjekts HTML generiert.

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, da diese gut für große XML-Dateien geeignet sind und dazu beitragen, den Speicherverbrauch gering zu halten.

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

Unser Beispiel-Repository enthält eine Beispielanwendung in C# und VB.NET, die eine XML-Rechnung in ein PDF konvertiert. Die Beispielanwendung enthält eine XML-Beispielrechnung und das zugehörige XSLT-Stylesheet.

Wenn Sie in einem modernen Browser eine URL aufrufen, die XML zurückgibt, kann der Browser das zugehörige XSLT-Stylesheet (sofern vorhanden) automatisch anwenden, um lesbares HTML zu generieren und anzuzeigen. Dies funktioniert nur, wenn sich sowohl die XML- als auch die XSLT-Datei auf demselben Server befinden. Um ursprungsübergreifende Anfragen zu verhindern, lädt und wendet der Browser das Stylesheet nicht an, wenn Sie die XML-Datei direkt vom lokalen Dateisystem öffnen.

Abwägungen und alternative Wege zur PDF-Erstellung

Die HTML-zu-PDF-API ist nicht die einzige Möglichkeit, mit Docotic.Pdf PDFs zu erstellen, und auch nicht immer die effizienteste. In diesem Abschnitt werden die Alternativen vorgestellt, damit Sie die passende Option für Ihren Anwendungsfall auswählen können.

Illustration von Möglichkeiten zur Erstellung eines PDFs: Verwendung von HTML zu PDF, der Canvas API, vorlagenbasierter Generierung, der Layout API und Komposition.

Wann die Konvertierung von HTML zu PDF die richtige Wahl ist

Wählen Sie die HTML-zu-PDF-Methode, wenn Ihr Team bereits Dokumente mit HTML/CSS erstellt. Dies gilt insbesondere für Dokumente, die Webseiten ähneln: Rechnungen, Bestellungen, Zertifikate, Quittungen usw.

Das HtmlToPdf-Add-on ermöglicht es Teams, bestehende HTML/CSS-Vorlagen wiederzuverwenden und von hochwertigen Layout- und Darstellungsfunktionen zu profitieren. Mit diesem Add-on erhalten Sie schnellstmöglich eine qualitativ hochwertige PDF-Ausgabe.

Zu beachtende Einschränkungen

Die HTML-zu-PDF-API nutzt die HTML-Rendering-Engine von Google Chrome. Diese Engine ist zwar leistungsstark, verursacht aber einen gewissen Mehraufwand. Eine typische HTML-zu-PDF-Konvertierung benötigt beispielsweise mehr CPU und Arbeitsspeicher als das direkte Zeichnen auf einer PDF-Seite. Dieser Mehraufwand kann die Stapelverarbeitung großer Datenmengen verlangsamen.

Die Browser-Engine erhöht zudem den Ressourcenbedarf zur Laufzeit, was in minimalen Docker-Images oder ressourcenbeschränkten Umgebungen unerwünscht sein kann. Beispielsweise funktioniert die API möglicherweise nicht in serverlosen Umgebungen mit sehr strengen Beschränkungen hinsichtlich Speicherverbrauch und Ausführungszeit.

Weitere Möglichkeiten zur PDF-Erstellung in Docotic.Pdf

Die Docotic.Pdf-Bibliothek bietet verschiedene weitere Möglichkeiten zur Dokumentenerstellung, die jeweils auf unterschiedliche Bedürfnisse zugeschnitten sind:

  • Direkte PDF-Generierung über die Canvas-API
    Ideal für strukturierte, vorhersehbare Layouts wie Tickets, Etiketten oder Formulare. Bietet maximale Leistung und volle Kontrolle über Koordinaten, Typografie und Inhaltsplatzierung.

  • Vorlagenbasierte PDF-Generierung
    Oft die beste Wahl bei der Arbeit mit genehmigten, konformitätsgeprüften Vorlagen. Sie beginnen mit einer bestehenden PDF-Datei und füllen Felder aus, ersetzen Platzhalter und fügen bei Bedarf zugehörige Dokumente hinzu.

  • PDF-Erstellung mit der Layout-API
    Bietet Bausteine ​​wie Seiten, Container, Bilder, Textabschnitte und weitere Layout-Elemente. Sie beschreiben das PDF-Layout vollständig im Code mithilfe einer intuitiven API, und die Bibliothek generiert daraus das PDF.

  • Zusammenstellung aus anderen PDFs und Bildern
    Bietet eine einfache Möglichkeit, Kontoauszüge, Berichte, Dokumentenpakete und andere Dokumente aus bestehenden PDFs und Bildern zu erstellen. Sie können Bilder in PDF-Seiten umwandeln, mehrere PDFs kombinieren, Seiten anhängen oder Fragmente wiederverwenden.

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

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

Wichtigste Erkenntnisse aus dem Vergleich

Die meisten browserbasierten Lösungen bieten eine hochwertige Darstellung und unterstützen modernes HTML, CSS und JavaScript vollständig. Es gibt jedoch wichtige Unterschiede.

Lösung Wann anwenden? Am besten geeignet für
Docotic.Pdf mit dem HtmlToPdf-Add-on Umwandlung von Berichten, Rechnungen und Belegen mit pixelgenauer visueller Wiedergabetreue Professionelle Software, die sowohl HTML-zu-PDF-Konvertierung als auch PDF-Bearbeitung erfordert, unterstützt durch professionellen Support
Puppeteer Wenn modernes HTML/CSS/JS-Rendering mit Browsergenauigkeit erforderlich ist und nur eine 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 oder Vorerfahrung mit IronPDF verfügt Teams, die auf mehrere Iron Software-Komponenten angewiesen sind
wkhtmltopdf Wenn ein relativ geringer Ressourcenverbrauch erforderlich ist und Ihr HTML/CSS einfach ist und keine externen oder nicht vertrauenswürdigen Verweise enthält Kompatibilität mit Systemen, die bereits wkhtmltopdf verwenden

Detaillierter Vergleich

Prüfen Sie die Informationen in der Tabelle, um sich ein vollständiges Bild zu machen und Ihre eigenen Schlussfolgerungen zu ziehen.

  Docotic.Pdf mit HtmlToPdf Puppeteer IronPDF wkhtmltopdf
Motor Headless Chrome Headless Chrome / Chromium Headless Chrome Vermächtnis Qt WebKit
Wiedergabetreue Pixelperfekt Pixelperfekt Pixelperfekt Pixelperfekt mit Eigenheiten und Einschränkungen
HTML5-Unterstützung Voll Voll Voll Teilweise und begrenzt
CSS3-Unterstützung Voll Voll Voll Äußerst begrenzt
JavaScript-Unterstützung Voll Voll Voll Teilweise und veraltet
Integration mit .NET-Code Asynchrone .NET-API Asynchrone .NET-API bei Verwendung von PuppeteerSharp; ansonsten Node.js-Skripte. Asynchrone .NET-API Befehlszeilenprozess oder C#-Wrapperbibliothek (wie z. B. DinkToPdf)
PDF-Funktionen, die über die HTML-Konvertierung hinausgehen Umfangreich Keiner Beschränkt Keiner
Unterstützung Kommerzieller, prioritärer Support wird angeboten Für PuppeteerSharp wird prioritäre Unterstützung durch die Community und Sponsoren angeboten Kommerzieller, prioritärer Support wird angeboten Community ohne formale Unterstützungskanäle
Wartungsstatus Aktiv gepflegt Aktiv gepflegt Aktiv gepflegt Wird nicht mehr gewartet
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
Weitervertriebsrechte Lizenzfrei mit allen Lizenzen Lizenzfrei mit allen Lizenzen Nicht enthalten; muss separat erworben werden Lizenzfrei mit allen Lizenzen
Entwicklerlizenzierung Unbegrenzte Entwickler mit allen Lizenzen Unbegrenzte Entwickler mit allen Lizenzen Variiert je nach Lizenzstufe; unbegrenzte Nutzung nur in der höchsten Lizenzstufe Unbegrenzte Entwickler mit allen Lizenzen
Online-Lizenzprüfung Keine Online-Verifizierung erforderlich Es wurde keine Lizenzprüfung durchgeführt Für alle Lizenzen außer der Premium-Lizenz erforderlich Es wurde keine Lizenzprüfung durchgeführt

Abschluss

Docotic.Pdf mit dem Add-on HtmlToPdf bietet zuverlässige und hochwertige HTML-zu-PDF-Konvertierungen sowie eine umfassende PDF-API. Die Bibliothek eignet sich hervorragend zum Generieren von PDF-Berichten, Rechnungen, Quittungen und anderen Geschäftsdokumenten aus HTML und bewahrt dabei die pixelgenaue Darstellung.

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

Neben der Konvertierung von HTML in PDF kann Docotic.Pdf die generierten PDFs mit einem Passwort schützen und sie mit digitalen Signaturen signieren, einschließlich LTV-fähiger Signaturen.

Sie können finale Dokumente erstellen, indem Sie mehrere generierte PDFs zusammenführen. Falls ein PDF nach der HTML-Konvertierung oder dem Zusammenführen zu groß wird, kann die Bibliothek doppelte Objekte in der Datei entfernen und weitere Methoden zur Dateigrößenreduzierung anwenden. Um das Leseerlebnis zu verbessern, kann Docotic.Pdf PDFs außerdem für 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 infrage kommende Bibliothek konvertierte PDFs nicht zusammenführen kann und diese Funktion für Ihre Lösung erforderlich ist. Im Vergleichsabschnitt finden Sie gängige HTML-zu-PDF-Bibliotheken für .NET im direkten Vergleich.

Warum wird mein HTML-Code in PDF nicht korrekt dargestellt?

Wenn Ihr HTML-Code in Google Chrome korrekt angezeigt wird, aber nicht in der generierten PDF-Datei, überprüfen Sie die Konvertierungsoptionen. Stellen Sie sicher, dass die Breite für den Inhalt ausreicht. Möglicherweise muss vor der Konvertierung auch JavaScript ausgeführt werden.

Warum HTML-Vorlagen anstelle direkter PDF-APIs verwenden?

Durch die Verwendung von HTML-Vorlagen wird Ihre Lösung hinsichtlich des Dokumentlayouts sehr flexibel. Sie können das Erscheinungsbild Ihrer PDFs mithilfe der leistungsstarken Formatierungsfunktionen von HTML und CSS problemlos anpassen. Außerdem ist es nicht nötig, das Design Ihrer Online-Dokumente mit einer PDF-API zu duplizieren.

Wie konvertiert man ASPX in PDF?

Um ASPX in PDF zu konvertieren, lassen Sie die ASP.NET-Engine den HTML-Code für die ASPX-Seite generieren und konvertieren Sie diesen anschließend mithilfe der Docotic.Pdf-Bibliothek in PDF. Weitere Details finden Sie im entsprechenden Abschnitt.

Wie kann man eine SVG-Datei auf eine PDF-Datei legen?

Um eine SVG-Datei über eine PDF-Datei zu legen, erzeugen Sie eine PDF-Datei aus der SVG-Datei und erstellen Sie anschließend ein XObject aus der ersten Seite des generierten Dokuments. Da das XObject einen transparenten Hintergrund hat, können Sie es in einem anderen Dokument über eine PDF-Seite legen.

Wie füge ich dem generierten PDF ein Wasserzeichen hinzu?

Um einem aus HTML erstellten PDF-Dokument ein Wasserzeichen hinzuzufügen, erstellen Sie ein XObject, füllen Sie es mit dem Wasserzeicheninhalt und zeichnen Sie das XObject anschließend über die Dokumentseiten. Sie können Vektorgrafiken, Bilder und Text für das Wasserzeichen verwenden.

Ist Docotic.Pdf besser als wkhtmltopdf?

Docotic.Pdf unterstützt modernes HTML, CSS und JavaScript vollständig, während wkhtmltopdf bei modernen Webdokumenten häufig zu inkonsistenter Darstellung führt. Darüber hinaus bietet Docotic.Pdf APIs, die über die HTML-zu-PDF-Konvertierung hinausgehen. Beispielsweise kann die Bibliothek PDFs mit LTV-fähigen digitalen Signaturen signieren, während wkhtmltopdf lediglich HTML konvertieren kann.