Slik konverterer HTML til PDF ved hjelp iTextSharp

Slik konverterer HTML til PDF ved hjelp iTextSharp


iTextSharp er en del av iText åpen kildekode Java-bibliotek for PDF generasjon skrevet i C # for .NET plattformen. PDF-filer er fast størrelse dokumenter som ofte brukes for å gi nettstedet utskrivbare innhold.

Bruksanvisning

1 Åpne en C # editor.

2 Lag en C # fil og legg til følgende kode.

3 Bruk et navn plass å ringe iTextSharp bibliotek:

bruker iTextSharp.text;

bruker iTextSharp.text.pdf;

4 Ring en innebygd klasse i iTextSharp og sett Stringbuilder å tømme:

Dokument dokument = new Document (PageSize.A4, 80, 50, 30, 65);

Stringbuilder strData = new Stringbuilder (string.Empty);

5 Legg en bane for HTML skal genereres fra Gridview innhold:

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

6 Sett banen for PDF-filen for å bygge:

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

7 Ring data fra HTML-fil og gjengi filen:

StringWriter sw = nye StringWriter ();

sw.WriteLine (Environment.NewLine);

sw.WriteLine (Environment.NewLine);

sw.WriteLine (Environment.NewLine);

sw.WriteLine (Environment.NewLine);

HtmlTextWriter HTW = ny HtmlTextWriter (sw);

gvSerchResult.AllowPaging = false;

gvSerchResult.AllowSorting = false;

BindGridView ();

gvSerchResult.RenderControl (HTW);

Stream strWriter = new Stream (strHTMLpath, falsk, Encoding.UTF8);

strWriter.Write ( "<html> <head> </ head> <body>" + htw.InnerWriter.ToString () + "</ body> </ html>");

strWriter.Close ();

strWriter.Dispose ();

8 Bruk parser for å konvertere HTML-innhold til en PDF:

iTextSharp.text.html.simpleparser.

Stilark stiler = ny iTextSharp.text.html.simpleparser.StyleSheet ();

styles.LoadTagStyle ( "ol", "ledende", "16,0");

PdfWriter.GetInstance (dokument, ny Filestream (strPDFpath, FileMode.Create));

document.Open ();

9 Angi skriftstiler for elementene på siden og legge til sideelementer:

Arraylist gjenstander;

styles.LoadTagStyle ( "li", "ansikt", "Garamond");

styles.LoadTagStyle ( "span", "størrelse", "8 piksler");

styles.LoadTagStyle ( "body", "font-family", "Times New Roman");

styles.LoadTagStyle ( "body", "font-size", "12px");

document.NewPage ();

gjenstander = iTextSharp.text.html.simpleparser.

HTMLWorker.ParseToList (ny StreamReader (strHTMLpath, Encoding.Default), stiler);

for (int k = 0; k <objects.Count; k ++)

{

document.Add ((IElement) objekter [k]);

}

10 Fjern alle variablene som brukes fra minnet og nær:

{

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 Kjør C # fil for å lage PDF-fil fra HTML-fil.