Converter HTML para PDF em C#

Você já se perguntou como converter HTML para PDF em C#? Se você é um desenvolvedor e precisa criar um documento que seja legível na tela e também possa ser impresso, a conversão de HTML para PDF seria a solução ideal para o seu problema. Você pode usar este artigo como um guia passo a passo sobre como converter exatamente HTML em PDF em C#. Você encontrará etapas detalhadas e trechos de código que podem ajudá-lo a resolver esse problema com muita facilidade.

HTML (Hyper Text Markup Language) é uma linguagem de marcação que permite a criação de páginas web. Uma página HTML consiste em elementos HTML, incluindo formulários, texto, imagens, animações, links, etc. Uma tag representa um desses elementos, seguido por vários outros. Cada tag tem um início e um fim. Para representação geral do layout, ele também pode incorporar scripts escritos em JavaScript ou folhas de estilo (CSS). Podemos converter e salvar páginas da web como documentos PDF programaticamente. Não há limitação para a quantidade de informações que podemos colocar em um arquivo PDF. Podemos incluir texto, imagens, hiperlinks, campos de formulário, rich media, assinaturas digitais, anexos, metadados, recursos geoespaciais e objetos 3D.

A conversão de HTML para PDF permite salvar sites ou outras páginas da Web HTML independentes em um formato portátil ou imprimi-los. Portanto, continue lendo para obter etapas detalhadas sobre como converter HTML em PDF em C#.

Os seguintes tópicos serão abordados neste artigo:

  1. API C# do Conversor de HTML para PDF
  2. Converter HTML para PDF
  3. Converter HTML para PDF com opções de salvamento
  4. Exportar string HTML para PDF
  5. Converter HTML para PDF a partir do URL ao vivo

API C# do Conversor de HTML para PDF

Para converter HTML em PDF, usaremos a API Aspose.HTML for .NET. A API permite a criação de documentos HTML. Também permite modificar e extrair dados de documentos HTML. Além disso, permite converter e renderizar documentos HTML sem nenhum software externo.

A API fornece a classe HTMLDocument que representa um documento HTML ou a página da Web que vemos no navegador. A classe PdfSaveOptions da API permite especificar várias opções de salvamento ao salvar como PDF. Podemos converter os formatos suportados usando a classe Converter. Ele fornece uma ampla gama de conversões para os formatos populares, como PDF, XPS, formatos de imagem, etc. Ele fornece os métodos ConvertHTML() para converter HTML para outros formatos.

Por favor baixe a DLL da API ou instale-a usando NuGet.

PM> Install-Package Aspose.Html

Converter HTML para PDF usando C#

Podemos converter facilmente qualquer arquivo HTML em um documento PDF seguindo as etapas abaixo:

  1. Em primeiro lugar, carregue um documento HTML usando a classe HTMLDocument.
  2. Em seguida, crie uma instância da classe PdfSaveOptions.
  3. Finalmente, chame o método Converter.ConvertHTML(). Ele usa HTMLDocument, PdfSaveOptions e o caminho do arquivo PDF de saída como argumentos.

O exemplo de código a seguir mostra como converter um arquivo HTML em um documento PDF em C#.

// Este exemplo de código demonstra como converter um arquivo HTML em um documento PDF.
// Carregar arquivo HTML de entrada
var document = new HTMLDocument(@"C:\Files\sample.html");

// Inicializar PDFSaveOptions 
var options = new PdfSaveOptions();

// Converter HTML para PDF
Converter.ConvertHTML(document, options, @"C:\Files\output.pdf");
Converter HTML para PDF usando C#

Converter HTML para PDF usando C#

Converter HTML em PDF com opções de salvamento em C#

Podemos definir várias opções de salvamento adicionais especificamente para salvar o arquivo HTML como um documento PDF seguindo as etapas abaixo:

  1. Em primeiro lugar, carregue um documento HTML usando a classe HTMLDocument.
  2. Em seguida, crie uma instância da classe PdfSaveOptions.
  3. Depois disso, especifique as opções de salvamento, como HorizontalResolution, VerticalResolution, BackgroundColor, etc.
  4. Finalmente, chame o método Converter.ConvertHTML() para converter um arquivo HTML em um PDF.

O exemplo de código a seguir mostra como converter um arquivo HTML em PDF com opções adicionais em C#.

// Este exemplo de código demonstra como converter um arquivo HTML em um documento PDF com opções de salvamento.
// Carregar arquivo HTML de entrada
var document = new HTMLDocument(@"C:\Files\sample.html");

// Inicializar PDFSaveOptions
// Configure as resoluções e altere a cor de fundo para Khaki 
var options = new PdfSaveOptions();
options.HorizontalResolution = 200;
options.VerticalResolution = 200;
options.JpegQuality = 100;
options.BackgroundColor = System.Drawing.Color.Khaki;

// Defina o tamanho da página e as margens
options.PageSetup.AnyPage = new Page(new Aspose.Html.Drawing.Size(600, 800), new Margin(10, 10, 10, 10));

// Converter HTML para PDF
Converter.ConvertHTML(document, options, @"C:\Files\output_saveOptions.pdf");
Converter HTML em PDF com opções de salvamento em C#

Converter HTML em PDF com opções de salvamento em C#

Exportar string HTML para PDF em C#

Também podemos converter uma string HTML em um documento PDF seguindo as etapas abaixo:

  1. Em primeiro lugar, defina uma string HTML
  2. Em seguida, crie uma instância da classe PdfSaveOptions.
  3. Opcionalmente, defina as opções de salvamento.
  4. Finalmente, chame o método Converter.ConvertHTML() para converter uma string HTML em um PDF. Leva string HTML, PdfSaveOptions e caminho de arquivo PDF de saída como argumentos.

O exemplo de código a seguir mostra como converter uma string HTML em um documento PDF em C#.

// Este exemplo de código demonstra como converter uma string HTML em um documento PDF.
// Definir string HTML
string htmlString = @"<style>
        .st
        {
        color: green;
        }
        </style>
        <div id=id1>Aspose.Html rendering Text in Black Color</div>
        <div id=id2 class=''st''>Aspose.Html rendering Text in Green Color</div><div id=id3 class=''st'' style='color: blue;'>Aspose.Html rendering Text in Blue Color</div>
        <div id=id3 class=''st'' style='color: red;'><font face='Arial'>Aspose.Html rendering Text in Red Color</font></div>";

// Inicializar PDFSaveOptions 
var options = new PdfSaveOptions();

// Invoque o método ConvertHTML para converter o código HTML em PDF           
Converter.ConvertHTML(htmlString, ".", options, @"C:\Files\HtmlStringToPdf.pdf");
Exportar string HTML para PDF em C#

Exportar string HTML para PDF em C#

Converta HTML para PDF de URL ao vivo em C#

Também podemos salvar qualquer página da Web de um URL ativo como um documento PDF seguindo as etapas abaixo:

  1. Primeiramente, crie uma instância da classe Url com a URL de uma página da web.
  2. Em seguida, crie uma instância da classe PdfSaveOptions.
  3. Opcionalmente, defina as opções de salvamento.
  4. Finalmente, salve o HTML como um PDF usando o método Converter.ConvertHTML(). Ele usa o URL, PdfSaveOptions e o caminho do arquivo PDF de saída como argumentos.

O exemplo de código a seguir mostra como converter HTML em PDF a partir da URL dinâmica usando C#.

// Este exemplo de código demonstra como converter um HTML de um URL ativo em um documento PDF.
// URL
Url url = new Url("https://docs.aspose.com/html/net/");

// Inicializar PDFSaveOptions 
var options = new PdfSaveOptions();

// Converter o código HTML para PDF
Converter.ConvertHTML(url, options, @"C:\Files\outputFromURL.pdf");
Converta HTML para PDF de URL ao vivo em C#

Converta HTML para PDF de URL ao vivo em C#

Obtenha licença gratuita

Você pode obter uma licença temporária gratuita para experimentar o Aspose.HTML para .NET sem limitações de avaliação.

Conclusão

Neste artigo, aprendemos como:

  • carregar um arquivo HTML;
  • especificar opções de salvamento de PDF;
  • converta HTML de um arquivo, string ou página da Web ao vivo para PDF em C#.

Além de converter HTML para PDF em C#, você pode aprender mais sobre Aspose.HTML para API .NET usando documentação. Em caso de ambiguidade, sinta-se à vontade para nos contatar em nosso fórum de suporte gratuito.

Veja também