C#/VB.NET: HTML in PDF konvertieren

2023-07-21 02:52:48

Das Konvertieren von HTML-Inhalten in PDF bietet viele Vorteile, darunter die Möglichkeit, sie offline zu lesen sowie den Inhalt und die Formatierung mit hoher Wiedergabetreue beizubehalten. Spire.PDF bietet zwei Methoden zum Konvertieren von HTML in PDF: Eine besteht darin, das QT-Web-Plugin zu verwenden, die andere darin, kein Plugin zu verwenden. Wir empfehlen Ihnen, für die Konvertierung das QT-Plugin zu verwenden.

In den folgenden Abschnitten wird gezeigt, wie Sie mit Spire.PDF for .NET mit oder ohne QT-Plugin eine HTML-Webseite (URL) oder einen HTML-String in ein PDF-Dokument rendern.

Installieren Spire.PDF for .NET

Zunächst müssen Sie die im Spire.PDF for.NET-Paket enthaltenen DLL-Dateien als Referenzen in Ihrem .NET-Projekt hinzufügen. Die DLL-Dateien können entweder über diesen Link heruntergeladen oder über NuGet installiert werden.

PM> Install-Package Spire.PDF 

Plugin herunterladen

Wenn Sie sich für die Plugin-Methode entscheiden, laden Sie bitte über den folgenden Link das Plugin herunter, das zu Ihrem Betriebssystem passt.

Entpacken Sie das Paket irgendwo auf Ihrer Festplatte, um den Ordner „plugins“ zu erhalten. In diesem Beispiel haben wir das Plugin unter dem Pfad "F:\Libraries\Plugin\plugins-windows-x64\plugins‪‪".‬‬

C#/VB.NET: Convert HTML to PDF

Außerdem empfehlen wir Ihnen, das „Plattformziel“ Ihres Projekts entsprechend auf x64 oder x86 festzulegen.

C#/VB.NET: Convert HTML to PDF

Konvertieren Sie eine URL mit dem QT-Plugin in PDF

Im Folgenden finden Sie die Schritte zum Konvertieren einer URL in PDF mithilfe von Spire.PDF mit dem QT-Plugin.

  • Geben Sie den zu konvertierenden URL-Pfad an.
  • Geben Sie den Pfad der generierten PDF-Datei an.
  • Geben Sie den Plugin-Pfad an und weisen Sie ihn als Wert der HtmlConverter.PluginPath-Eigenschaft zu.
  • Rufen Sie die Methode HtmlConverter.Convert(string url, string fileName, bool enableJavaScript, int timeout, SizeF pageSize, PdfMargins margins) auf, um eine URL in ein PDF-Dokument zu konvertieren.
  • C#
  • VB.NET
using Spire.Pdf.Graphics;
    using Spire.Pdf.HtmlConverter.Qt;
    using System.Drawing;
    
    namespace ConvertUrlToPdf
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Specify the URL path
                string url = "https://www.wikipedia.org/";
    
                //Specify the output file path
                string fileName = "UrlToPdf.pdf";
    
                //Specify the plugin path
                 string pluginPath = "F:\\Libraries\\Plugin\\plugins-windows-x64\\plugins";
    
                //Set the plugin path
                 HtmlConverter.PluginPath = pluginPath;
    
                //Convert URL to PDF
                HtmlConverter.Convert(url, fileName, true, 100000, new Size(1080, 1000), new PdfMargins(0));
            }
        }
    }

Konvertieren Sie einen HTML-String in PDF mit dem QT-Plugin

Im Folgenden finden Sie die Schritte zum Konvertieren einer HTML-Zeichenfolge in PDF mithilfe von Spire.PDF mit dem QT-Plugin.

  • Holen Sie sich die HTML-Zeichenfolge aus einer .html-Datei.
  • Geben Sie den Pfad der generierten PDF-Datei an.
  • Geben Sie den Plugin-Pfad an und weisen Sie ihn als Wert der HtmlConverter.PluginPath-Eigenschaft zu.
  • Rufen Sie die Methode HtmlConverter.Convert(string htmlString, string fileName, bool enableJavaScript, int timeout, SizeF pageSize, PdfMargins margins, Spire.Pdf.HtmlConverter.LoadHtmlType htmlType) auf, um eine HTML-Zeichenfolge in ein PDF-Dokument zu konvertieren.

Hinweis: Nur der Inline-CSS-Stil und der interne CSS-Stil können in PDF korrekt gerendert werden. Wenn Sie über ein externes CSS-Stylesheet verfügen, konvertieren Sie es bitte in einen Inline- oder internen CSS-Stil.

  • C#
  • VB.NET
using System.IO;
    using Spire.Pdf.HtmlConverter.Qt;
    using System.Drawing;
    using Spire.Pdf.Graphics;
    
    namespace ConvertHtmlStringToPdfWithPlugin
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Get the HTML string from a .html file
                string htmlString = File.ReadAllText(@"C:\Users\Administrator\Desktop\Document\Html\Sample.html");
    
                //Specify the output file path
                string fileName = "HtmlStringToPdf.pdf";
    
                //Specify the plugin path
                string pluginPath = "F:\\Libraries\\Plugin\\plugins-windows-x64\\plugins";
    
                //Set plugin path
                HtmlConverter.PluginPath = pluginPath;
    
                //Convert HTML string to PDF
                HtmlConverter.Convert(htmlString, fileName, true, 100000, new Size(1080, 1000), new PdfMargins(0), Spire.Pdf.HtmlConverter.LoadHtmlType.SourceCode);
            }
        }
    }

Konvertieren Sie eine URL ohne Plugin in PDF

Im Folgenden finden Sie die Schritte zum Konvertieren einer URL in PDF mit Spire.PDF ohne Plugin.

  • Erstellen Sie ein PdfDocument-Objekt.
  • Erstellen Sie ein PdfPageSettings-Objekt und legen Sie damit die Seitengröße und die Ränder fest.
  • Erstellen Sie ein PdfHtmlLayoutFormat-Objekt und setzen Sie dessen IsWaiting-Eigenschaft auf true.
  • Geben Sie den zu konvertierenden URL-Pfad an.
  • Laden Sie HTML aus dem URL-Pfad mit der Methode PdfDocument.LoadFromHTML().
  • Speichern Sie das Dokument mit der Methode PdfDocument.SaveToFile() in einer PDF-Datei.
  • C#
  • VB.NET
using System;
    using Spire.Pdf;
    using System.Threading;
    using Spire.Pdf.HtmlConverter;
    using System.Drawing;
    
    namespace ConverUrlToPdfWithoutPlugin
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument();
    
                //Create a PdfPageSettings object
                PdfPageSettings setting = new PdfPageSettings();
    
                //Save page size and margins through the object
                setting.Size = new SizeF(1000, 1000);
                setting.Margins = new Spire.Pdf.Graphics.PdfMargins(20);
    
                //Create a PdfHtmlLayoutFormat object
                PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat();
    
                //Set IsWaiting property to true
                htmlLayoutFormat.IsWaiting = true;
    
                //Specific the URL path to convert
                String url = "https://www.wikipedia.org/";
    
                //Load HTML from a URL path using LoadFromHTML method
                Thread thread = new Thread(() =>
                { doc.LoadFromHTML(url, true, true, false, setting, htmlLayoutFormat); });
                thread.SetApartmentState(ApartmentState.STA);
                thread.Start();
                thread.Join();
    
                //Save the document to a PDF file
                doc.SaveToFile("UrlToPdf.pdf");
                doc.Close();
            }
        }
    }

Konvertieren Sie einen HTML-String in PDF ohne Plugin

Im Folgenden finden Sie die Schritte zum Konvertieren einer HTML-Zeichenfolge in PDF mit Spire.PDF ohne Plugin.

  • Erstellen Sie ein PdfDocument-Objekt.
  • Erstellen Sie ein PdfPageSettings-Objekt und legen Sie damit die Seitengröße und die Ränder fest.
  • Erstellen Sie ein PdfHtmlLayoutFormat-Objekt und setzen Sie dessen IsWaiting-Eigenschaft auf true.
  • Lesen Sie die HTML-Zeichenfolge aus einer .html-Datei.
  • Laden Sie HTML aus der HTML-Zeichenfolge mit der Methode PdfDocument.LoadFromHTML().
  • Speichern Sie das Dokument mit der Methode PdfDocument.SaveToFile() in einer PDF-Datei.
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.HtmlConverter;
    using System.IO;
    using System.Threading;
    using System.Drawing;
    
    namespace ConvertHtmlStringToPdfWithoutPlugin
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument();
    
                //Create a PdfPageSettings object
                PdfPageSettings setting = new PdfPageSettings();
    
                //Save page size and margins through the object
                setting.Size = new SizeF(1000, 1000);
                setting.Margins = new Spire.Pdf.Graphics.PdfMargins(20);
    
                //Create a PdfHtmlLayoutFormat object
                PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat();
    
                //Set IsWaiting property to true
                htmlLayoutFormat.IsWaiting = true;
    
                //Read html string from a .html file
                string htmlString = File.ReadAllText(@"C:\Users\Administrator\Desktop\Document\Html\Sample.html");
    
                //Load HTML from html string using LoadFromHTML method
                Thread thread = new Thread(() =>
                { doc.LoadFromHTML(htmlString, true, setting, htmlLayoutFormat); });
                thread.SetApartmentState(ApartmentState.STA);
                thread.Start();
                thread.Join();
    
                //Save to a PDF file
                doc.SaveToFile("HtmlStringToPdf.pdf");
            }
        }
    }

Beantragen Sie eine temporäre Lizenz

Wenn Sie die Bewertungsmeldung aus den generierten Dokumenten entfernen oder die Funktionseinschränkungen beseitigen möchten, wenden Sie sich bitte an uns Fordern Sie eine 30-Tage-Testlizenz an für sich selbst.

Siehe auch