Kandungan
ITextSharp adalah sebahagian daripada iText, perpustakaan kod Java percuma untuk menghasilkan PDF. Ia telah dibangunkan di C # untuk platform NET. PDF adalah dokumen bersaiz tetap yang sering digunakan untuk menyediakan kandungan yang boleh dicetak di laman web.
Arahan
Tukar dokumen HTML ke PDF (imej fail oleh Alex White dari Fotolia.com)-
Buka editor # C #.
-
Buat fail C # dan tambahkan kod di bawah.
-
Gunakan "ruang nama" untuk memanggil perpustakaan iTextSharp:
menggunakan iTextShart.text; menggunakan iTextSharp.text.pdf;
-
Panggil kelas embedding di iTextSharp dan tetapkan StringBuilder untuk kosong:
Dokumen dokumen = Dokumen baru (PageSize.A4, 80, 50, 30, 65); StringBuilder strData = StringBuilder baru (string.Empty);
-
Tambah laluan untuk HTML dihasilkan daripada kandungan GridView:
string strHTMLpath = Server.MapPath ("MyHTML.html");
-
Tetapkan laluan kepada pembinaan fail PDF:
string strPDFpath = Server.MapPath ("MyPDF.pdf");
-
Panggil data dalam fail HTML dan proses fail:
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 = StreamWriter baru (strHTMLpath, false, Encoding.UTF8); strWriter.Write ("> "+ htw.InnerWriter.ToString () +" "); strWriter.Close (); strWriter.Dispose ();
-
Gunakan "parser" untuk menukar kandungan HTML ke PDF:
iTextSharp.text.html.simpleparser. StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet (); styles.LoadTagStyle ("ol", "leading", "16,0"); PdfWriter.GetInstance (dokumen, FailStream baru (strPDFpath, FileMode.Create)); document.Open ();
-
Tetapkan fon untuk unsur-unsur di halaman dan tambahkan item kepadanya:
Objek ArrayList; styles.LoadTagStyle ("li", "face", "garamond"); styles.LoadTagStyle ("span", "size", "8px"); styles.LoadTagStyle ("body", "font-family", "times new romance"); styles.LoadTagStyle ("body", "font-size", "12px"); document.NewPage (); objek = iTextSharp.text.html.simpleparser. HTMLWorker.ParseToList (StreamReader baru (strHTMLpath, Encoding.Default), gaya); untuk (int k = 0; k <objects.Count; k ++) {document.Add ((IElement) objek [k]); }
-
Kosongkan pemboleh ubah memori dan tutup fail:
{document.Close (); Response.Write (Server.MapPath ("~ /" + strPDFpath)); Response.ClearContent (); Response.ClearHeaders (); Response.AddHeader ("Peletakan Kandungan", "lampiran; nama fail =" + strPDFpath); Response.ContentType = "application / octet-stream"; Response.WriteFile (Server.MapPath ("~ /" + strPDFpath)); Response.Flush (); Response.Close (); jika (File.Exists (Server.MapPath ("~ /" + strPDFpath))) {File.Delete (Server.MapPath ("~ /" + strPDFpath)); }}
-
Jalankan fail C # untuk membuat fail PDF dari fail HTML.
Apa yang anda perlukan
- C # Editor