Περιεχόμενο
Το ITextSharp είναι μέρος του iText, μιας ελεύθερης βιβλιοθήκης κώδικα Java για τη δημιουργία PDF. Αναπτύχθηκε σε C # για την πλατφόρμα .NET. Τα PDF είναι έγγραφα σταθερού μεγέθους που χρησιμοποιούνται συχνά για την παροχή εκτυπώσιμου περιεχομένου σε ιστότοπους.
Οδηγίες
Μετατρέψτε ένα έγγραφο HTML σε PDF (εικόνα από τον Alex White από το Fotolia.com)-
Ανοίξτε έναν επεξεργαστή C #.
-
Δημιουργήστε ένα αρχείο C # και προσθέστε τον παρακάτω κώδικα.
-
Χρησιμοποιήστε ένα "χώρο ονομάτων" για να καλέσετε τη βιβλιοθήκη iTextSharp:
χρησιμοποιώντας το iTextShart.text. χρησιμοποιώντας το iTextSharp.text.pdf.
-
Καλέστε την κλάση ενσωμάτωσης στο iTextSharp και ορίστε το StringBuilder να αδειάσει:
Έγγραφο εγγράφου = νέο έγγραφο (PageSize.A4, 80, 50, 30, 65); StringBuilder strData = νέος StringBuilder (string.Empty);
-
Προσθέστε μια διαδρομή για να δημιουργηθεί HTML από το περιεχόμενο GridView:
string strHTMLpath = Server.MapPath ("MyHTML.html");
-
Ορίστε τη διαδρομή για την κατασκευή του αρχείου PDF:
string strPDFpath = Server.MapPath ("MyPDF.pdf");
-
Καλέστε τα δεδομένα στο αρχείο HTML και επεξεργαστείτε το αρχείο:
StringWriter sw = νέος StringWriter (); sw.WriteLine (Περιβάλλον.NewLine); sw.WriteLine (Περιβάλλον.NewLine); sw.WriteLine (Περιβάλλον.NewLine); sw.WriteLine (Περιβάλλον.NewLine); HtmlTextWriter htw = νέο HtmlTextWriter (sw); gvSerchResult.AllowPaging = false; gvSerchResult.AllowSorting = false; BindGridView (); gvSerchResult.RenderControl (htw);
StreamWriter strWriter = νέος StreamWriter (strHTMLpath, false, Encoding.UTF8); strWriter.Write ("> "+ htw.InnerWriter.ToString () +" "); strWriter.Close (); strWriter.Dispose ();
-
Χρησιμοποιήστε τον "αναλυτή" για να μετατρέψετε περιεχόμενο HTML σε PDF:
iTextSharp.text.html.simpleparser. Στυλ StyleSheet = νέο iTextSharp.text.html.simpleparser.StyleSheet (); styles.LoadTagStyle ("ol", "leading", "16,0"). PdfWriter.GetInstance (έγγραφο, νέα FileStream (strPDFpath, FileMode.Create)); document.Open ();
-
Ορίστε τις γραμματοσειρές για τα στοιχεία στη σελίδα και προσθέστε στοιχεία σε αυτήν:
Αντικείμενα ArrayList; styles.LoadTagStyle ("li", "πρόσωπο", "garamond"); styles.LoadTagStyle ("span", "μέγεθος", "8px"); styles.LoadTagStyle ("σώμα", "γραμματοσειρά-οικογένεια", "φορές νέα ρωμαϊκή")? styles.LoadTagStyle ("σώμα", "μέγεθος γραμματοσειράς", "12px"); document.NewPage (); αντικείμενα = iTextSharp.text.html.simpleparser. HTMLWorker.ParseToList (νέος StreamReader (strHTMLpath, Encoding.Default), στυλ); για το (int k = 0, k <objects.Count; k ++) {document.Add ((IElement) αντικείμενα [k]); }}
-
Καθαρίστε τις μεταβλητές μνήμης και κλείστε τα αρχεία:
{document.Close (); Response.Write (Server.MapPath ("~ /" + strPDFpath)). Response.ClearContent (); Response.ClearHeaders (); Response.AddHeader ("Περιεχόμενο-Διάθεση", "συνημμένο, όνομα_αρχείου =" + strPDFpath); Response.ContentType = "application / octet-stream"; Response.WriteFile (Server.MapPath ("~ /" + strPDFpath)); Response.Flush (); Απόκριση.Κλείσιμο (); αν (File.Exists (Server.MapPath ("~ /" + strPDFpath))) {File.Delete (Server.MapPath ("~ /" + strPDFpath)); }}
-
Εκτελέστε το αρχείο C # για να δημιουργήσετε το αρχείο PDF από το αρχείο HTML.
Τι χρειάζεστε
- C # Editor