Como converter HTML para PDF usando o iTextSharp

Escrito por declan maher | Traduzido por thiago isaias
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Como converter HTML para PDF usando o iTextSharp
Converta um documento HTML para PDF (file image by Alex White from Fotolia.com)

O iTextSharp é parte da iText, uma biblioteca Java de código livre para geração de PDFs. Ela foi desenvolvida em C# para a plataforma .NET. Os PDFs são documentos de tamanho fixo frequentemente usados para prover conteúdo passível de impressão em "websites".

Nível de dificuldade:
Moderadamente desafiante

Outras pessoas estão lendo

O que você precisa?

  • Editor C#

Lista completaMinimizar

Instruções

  1. 1

    Abra um editor C#.

  2. 2

    Crie um arquivo C# e adicione o código abaixo.

  3. 3

    Use um "namespace" para chamar a biblioteca iTextSharp:

    using iTextShart.text; using iTextSharp.text.pdf;

  4. 4

    Chame a classe embudita na iTextSharp e configure o StringBuilder como vazio:

    Document document = new Document(PageSize.A4, 80, 50, 30, 65); StringBuilder strData = new StringBuilder(string.Empty);

  5. 5

    Adicione um caminho para o HTML ser gerado a partir do conteúdo do GridView:

    string strHTMLpath = Server.MapPath("MyHTML.html");

  6. 6

    Defina o caminho para a construção do arquivo PDF:

    string strPDFpath = Server.MapPath("MyPDF.pdf");

  7. 7

    Chame os dados do arquivo HTML e processe o arquivo:

    StringWriter sw = new StringWriter(); sw.WriteLine(Environment.NewLine); sw.WriteLine(Environment.NewLine); sw.WriteLine(Environment.NewLine); sw.WriteLine(Environment.NewLine); HtmlTextWriter htw = new HtmlTextWriter(sw); gvSerchResult.AllowPaging = false; gvSerchResult.AllowSorting = false; BindGridView(); gvSerchResult.RenderControl(htw);

    StreamWriter strWriter = new StreamWriter(strHTMLpath, false, Encoding.UTF8); strWriter.Write("<html><head></head><body>" + htw.InnerWriter.ToString() + "</body></html>"); strWriter.Close(); strWriter.Dispose();

  8. 8

    Use o "parser" para converter o conteúdo do HTML para um PDF:

    iTextSharp.text.html.simpleparser. StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet(); styles.LoadTagStyle("ol", "leading", "16,0"); PdfWriter.GetInstance(document, new FileStream(strPDFpath, FileMode.Create)); document.Open();

  9. 9

    Configure as fontes para os elementos na página e adicione itens a ela:

    ArrayList objects; styles.LoadTagStyle("li", "face", "garamond"); styles.LoadTagStyle("span", "size", "8px"); styles.LoadTagStyle("body", "font-family", "times new roman"); styles.LoadTagStyle("body", "font-size", "12px"); document.NewPage(); objects = iTextSharp.text.html.simpleparser. HTMLWorker.ParseToList(new StreamReader(strHTMLpath, Encoding.Default), styles); for (int k = 0; k < objects.Count; k++) { document.Add((IElement)objects[k]); }

  10. 10

    Limpe as variáveis da memória e feche os arquivos:

    { document.Close(); Response.Write(Server.MapPath("~/" + strPDFpath)); Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("Content-Disposition", "attachment; filename=" + strPDFpath); Response.ContentType = "application/octet-stream"; Response.WriteFile(Server.MapPath("~/" + strPDFpath)); Response.Flush(); Response.Close(); if (File.Exists(Server.MapPath("~/" + strPDFpath))) { File.Delete(Server.MapPath("~/" + strPDFpath)); } }

  11. 11

    Execute o arquivo C# para criar o arquivo PDF a partir do arquivo HTML.

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível