HTML para PDF em C#

Muhammad Maisam Abbas 15 fevereiro 2024
HTML para PDF em C#

Este tutorial irá apresentar o método para converter uma string HTML em PDF em C#.

HTML para PDF com o pacote HtmlRenderer.PdfSharp em C#

O pacote HtmlRenderer.PdfSharp é usado para gerar um arquivo pdf a partir de trechos de HTML em C#. Este pacote torna muito fácil converter uma string contendo um trecho de HTML em um documento PDF que contém a visualização da web desse trecho de HTML. O pacote HtmlRenderer.PdfSharp é um pacote externo e não vem pré-instalado com a biblioteca .NET. Precisamos instalar este pacote separadamente usando o gerenciador de pacotes NuGet. O comando para instalar o pacote HtmlRenderer.PdfSharp é fornecido abaixo.

dotnet add package HtmlRenderer.PdfSharp-- version 1.5.0.6

O exemplo de código a seguir nos mostra como converter uma string contendo um trecho de HTML em um arquivo PDF com o pacote HtmlRenderer.PdfSharp em C#.

using PdfSharp;
using PdfSharp.Pdf;
using System;
using System.IO;
using TheArtOfDev.HtmlRenderer.PdfSharp;

namespace html_to_pdf {
  class Program {
    static void Main(string[] args) {
      string htmlString =
          "<h1>Document</h1> <p>This is an HTML document which is converted to a pdf file.</p>";
      PdfDocument pdfDocument = PdfGenerator.GeneratePdf(htmlString, PageSize.A4);
      pdfDocument.Save("C:/File/HTML to PDF Document.pdf");
    }
  }
}

Arquivo C:\File\HTML to PDF Document.pdf:

C# html para pdf

No código acima, convertemos o fragmento de HTML dentro da variável de string htmlString em um arquivo PDF com o pacote HtmlRenderer.PdfSharp em C#. Inicializamos primeiro a string htmlString com um trecho de HTML. Em seguida, criamos uma instância da classe PdfDocument com a função PdfGenerator.GeneratePdf() em C#. No final, salvamos o documento em um caminho especificado com a função PdfDocument.Save(). O conteúdo do arquivo pode ser visto no trecho da tela exibido acima.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn