html zu pdf c

PHPz
PHPzOriginal
2023-05-09 11:15:07824Durchsuche

HTML zu PDF C#: So konvertieren Sie HTML in PDF in einer ASP.NET MVC-Anwendung

Im heutigen digitalen Zeitalter verwenden immer mehr Menschen PDF-Dateien zum Archivieren, Teilen und Anzeigen von Dokumenten. Manchmal kann die Konvertierung von HTML- in PDF-Dateien Ihren Benutzern das Durchsuchen des Dokuments erleichtern. In diesem Artikel erfahren Sie, wie Sie HTML mit C# in PDF konvertieren.

Um HTML in PDF zu konvertieren, müssen wir eine Bibliothek namens WkHtmlToPdf verwenden. Diese Bibliothek basiert auf WebKit und kann HTML-Seiten in PDF-Dateien konvertieren. Die Bibliothek bietet viele Konfigurationsmöglichkeiten, um HTML einfach in das gewünschte Format zu konvertieren.

Lass uns anfangen! Zuerst müssen Sie die WkHtmlToPdf-Bibliothek über den NuGet-Paketmanager installieren. Öffnen Sie Visual Studio, klicken Sie mit der rechten Maustaste auf den Pfad „Referenzen“ im Projekt und wählen Sie „NuGet-Pakete verwalten“. Geben Sie „WkHtmlToPdf“ in das Suchfeld ein und drücken Sie die Eingabetaste. Wählen Sie die Bibliothek aus und installieren Sie sie.

Als nächstes müssen wir eine Klasse namens „HtmlToPdfConverter“ erstellen, die für die Konvertierung von HTML in PDF verantwortlich ist. In dieser Klasse müssen wir die folgende Methode schreiben:

public byte[] ConvertHtmlToPdf(string html)
{
    byte[] pdfBuffer; // 将转换后的PDF文件存储到字节数组中

    var options = new PdfOptions
    {
        // 设置PDF选项,包括页面大小、宽度和高度等
        PageSize = PaperKind.A4,
        Orientation = PdfOrientation.Portrait
    };

    var htmlToPdf = new HtmlToPdfConverter(options); // 创建HTML转换PDF对象

    pdfBuffer = htmlToPdf.GeneratePdf(html); // 生成PDF文件,并将其存储在缓冲区中

    return pdfBuffer;
}

Mit dem obigen Code konvertieren wir das parametrisierte HTML in das PDF-Format und speichern die Datei dann in einem Byte-Array. Die HtmlToPdfConverter-Klasse ist die Kernklasse der WkHtmlToPdf-Bibliothek, die viele nützliche Optionen zum Konfigurieren der PDF-Ausgabe bietet. Im obigen Code legen wir Optionen wie Seitengröße und Seitenausrichtung fest.

Als nächstes verwenden wir unsere HtmlToPdfConverter-Klasse in einer ASP.NET MVC-Anwendung. Zuerst müssen wir im Controller eine Aktionsmethode erstellen, um unseren Konverter aufzurufen. Zum Beispiel:

public ActionResult ConvertHtmlToPdf()
{
    string html = "<html><body><h1>测试HTML转PDF</h1></body></html>";

    byte[] pdfBuffer = new HtmlToPdfConverter().ConvertHtmlToPdf(html);

    return File(pdfBuffer, "application/pdf"); // 返回转换后的PDF文件
}

In diesem Beispiel erhalten wir den Inhalt aus einer einfachen HTML-Zeichenfolge, übergeben ihn an unsere HtmlToPdfConverter-Methode und erhalten die PDF-Datei aus dem zurückgegebenen Byte-Array. Abschließend verwenden wir den MVC-Rückgabetyp „File“, um die PDF-Datei an den Client zu senden. In diesem Rückgabetyp ist der erste Parameter ein Byte-Array und der zweite Parameter ist der Ausgabe-MIME-Typ, nämlich „application/pdf“.

Abschließend konfigurieren wir die Aktionsmethode so, dass sie auf einer bestimmten URL aufgerufen wird. Fügen Sie beispielsweise den folgenden Code zur Standardroute hinzu, um auf „/Home/ConvertHtmlToPdf“ zuzugreifen:

routes.MapRoute(
    name: "ConvertHtmlToPdf",
    url: "Home/ConvertHtmlToPdf",
    defaults: new { controller = "Home", action = "ConvertHtmlToPdf" });

Als nächstes navigieren wir einfach zu dieser URL in der Anwendung, um HTML in PDF zu konvertieren.

In diesem Artikel haben wir vorgestellt, wie man HTML mit C# in einer ASP.NET MVC-Anwendung in PDF konvertiert. Wir verwenden die WkHtmlToPdf-Bibliothek, um eine HTML-zu-PDF-Konvertierung durchzuführen und sie mithilfe einer einfachen Aktionsmethode an den Client auszugeben. Mit dieser Methode können verschiedene Arten von PDF-Dateien generiert werden, wodurch die Benutzererfahrung und der Datenaustausch der Anwendung optimiert werden.

Das obige ist der detaillierte Inhalt vonhtml zu pdf c. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn