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.