Innhold
ITextSharp er en del av iText, et gratis kode Java-bibliotek for generering av PDF-filer. Den ble utviklet i C # for .NET-plattformen. PDF-filer er dokumenter med fast størrelse som ofte brukes til å gi utskrivbart innhold på nettsteder.
retninger
Konverter et HTML-dokument til PDF (filbilde av Alex White fra Fotolia.com)-
Åpne en C # editor.
-
Lag en C # -fil og legg til koden nedenfor.
-
Bruk et "namespace" for å ringe iTextSharp biblioteket:
bruker iTextShart.text; bruker iTextSharp.text.pdf;
-
Ring innbygningsklassen i iTextSharp og sett StringBuilder til å tømme:
Dokumentdokument = nytt dokument (PageSize.A4, 80, 50, 30, 65); StringBuilder strData = ny StringBuilder (string.Empty);
-
Legg til en bane for HTML som skal genereres fra GridView-innhold:
streng strHTMLpath = Server.MapPath ("MyHTML.html");
-
Angi banen til konstruksjonen av PDF-filen:
streng strPDFpath = Server.MapPath ("MyPDF.pdf");
-
Ring dataene i HTML-filen og behandle filen:
StringWriter sw = ny 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);
StreamWriter strWriter = ny StreamWriter (strHTMLpath, false, Encoding.UTF8); strWriter.Write ("> "+ htw.InnerWriter.ToString () +" "); strWriter.Close (); strWriter.Dispose ();
-
Bruk "parseren" til å konvertere HTML-innhold til en PDF-fil:
iTextSharp.text.html.simpleparser. StyleSheet styles = ny iTextSharp.text.html.simpleparser.StyleSheet (); styles.LoadTagStyle ("ol", "ledende", "16,0"); PdfWriter.GetInstance (dokument, ny FileStream (strPDFpath, FileMode.Create)); document.Open ();
-
Angi fonter for elementene på siden og legg til elementer til den:
ArrayList objekter; 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 (); objekter = 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]); }
-
Slett minnevariablene og lukk filene:
{document.Close (); Response.Write (Server.MapPath ("~ /" + strPDFpath)); Response.ClearContent (); Response.ClearHeaders (); Response.AddHeader ("Content-Disposition", "vedlegg; filnavn =" + strPDFpath); Response.ContentType = "application / octet-stream"; Response.WriteFile (Server.MapPath ("~ /" + strPDFpath)); Response.Flush (); Response.Close (); hvis (File.Exists (Server.MapPath ("~ /" + strPDFpath))) {File.Delete (Server.MapPath ("~ /" + strPDFpath)); }}
-
Kjør C # -filen for å lage PDF-filen fra HTML-filen.
Hva du trenger
- C # Editor