Innehåll
ITextSharp är en del av iText, ett gratis-kod-Java-bibliotek för att generera PDF-filer. Den utvecklades i C # för .NET-plattformen. PDF-filer är dokument i fast storlek som ofta används för att ge utskrivbart innehåll på webbplatser.
vägbeskrivning
Konvertera ett HTML-dokument till PDF (filbild av Alex White från Fotolia.com)-
Öppna en C # -redigerare.
-
Skapa en C # -fil och lägg till koden nedan.
-
Använd en "namespace" för att ringa iTextSharp-biblioteket:
använder iTextShart.text; använder iTextSharp.text.pdf;
-
Ring inbäddningsklassen i iTextSharp och ställ in StringBuilder för att tömma:
Dokumentdokument = nytt dokument (PageSize.A4, 80, 50, 30, 65); StringBuilder strData = ny StringBuilder (string.Empty);
-
Lägg till en sökväg för HTML som ska genereras från GridView-innehåll:
sträng strHTMLpath = Server.MapPath ("MyHTML.html");
-
Ange vägen till konstruktionen av PDF-filen:
sträng strPDFpath = Server.MapPath ("MyPDF.pdf");
-
Ring data i HTML-filen och bearbeta 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 ();
-
Använd "parsern" för att konvertera HTML-innehåll till en PDF-fil:
iTextSharp.text.html.simpleparser. StyleSheet styles = ny iTextSharp.text.html.simpleparser.StyleSheet (); styles.LoadTagStyle ("ol", "leading", "16,0"); PdfWriter.GetInstance (dokument, ny FileStream (strPDFpath, FileMode.Create)); document.Open ();
-
Ställ in teckensnitt för elementen på sidan och lägg till objekt till den:
ArrayList-objekt; 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 (); objekt = iTextSharp.text.html.simpleparser. HTMLWorker.ParseToList (ny StreamReader (strHTMLpath, Encoding.Default), stilar); för (int k = 0; k <objects.Count; k ++) {document.Add ((IElement) objekt [k]); }
-
Rensa minnesvariablerna och stäng filerna:
{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 (); om (File.Exists (Server.MapPath ("~ /" + strPDFpath))) {File.Delete (Server.MapPath ("~ /" + strPDFpath)); }}
-
Kör filen C # för att skapa PDF-filen från HTML-filen.
Vad du behöver
- C # Editor