Como converter HTML para PDF usando o iTextSharp

Autor: Peter Berry
Data De Criação: 11 Agosto 2021
Data De Atualização: 17 Novembro 2024
Anonim
pdfHTML, converting HTML to PDF with iText 7
Vídeo: pdfHTML, converting HTML to PDF with iText 7

Contente

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".


Instruções

Converta um documento HTML para PDF (file image by Alex White from Fotolia.com)
  1. Abra um editor C#.

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

  3. Use um "namespace" para chamar a biblioteca iTextSharp:

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

  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. Adicione um caminho para o HTML ser gerado a partir do conteúdo do GridView:

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

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

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


  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(">" + htw.InnerWriter.ToString() + ""); strWriter.Close(); strWriter.Dispose();

  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. 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. 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. Execute o arquivo C# para criar o arquivo PDF a partir do arquivo HTML.

O que você precisa

  • Editor C#

Plante emente dentro de caa para obter o melhore reultado de germinação no início da primavera. A vermiculita proporciona um ubtrato excelente que é barato e fácil de utilizar...

O que é um reboque de eixo "tandem"?

Monica Porter

Novembro 2024

Depoi que você aprender o ignificado da palavra "tandem" (algo como "conjunto", em portuguê), é fácil decobrir o que é um reboque de eixo duplo. Tandem ign...

Posts Populares