Contenu
ITextSharp fait partie d'iText, une bibliothèque de code Java gratuite permettant de générer des fichiers PDF. Il a été développé en C # pour la plate-forme .NET. Les PDF sont des documents de taille fixe, souvent utilisés pour fournir du contenu imprimable sur des sites Web.
Les instructions
Convertir un document HTML en PDF (image du fichier par Alex White de Fotolia.com)-
Ouvrez un éditeur C #.
-
Créez un fichier C # et ajoutez le code ci-dessous.
-
Utilisez un "espace de noms" pour appeler la bibliothèque iTextSharp:
using iTextShart.text; using iTextSharp.text.pdf;
-
Appelez la classe d'intégration dans iTextSharp et définissez le StringBuilder sur vide:
Document document = nouveau document (PageSize.A4, 80, 50, 30, 65); StringBuilder strData = new StringBuilder (string.Empty);
-
Ajoutez un chemin pour que HTML soit généré à partir du contenu GridView:
string strHTMLpath = Server.MapPath ("MyHTML.html");
-
Définissez le chemin d'accès à la construction du fichier PDF:
string strPDFpath = Server.MapPath ("MyPDF.pdf");
-
Appelez les données dans le fichier HTML et traitez le fichier:
StringWriter sw = new StringWriter (); sw.WriteLine (Environment.NewLine); sw.WriteLine (Environment.NewLine); sw.WriteLine (Environment.NewLine); sw.WriteLine (Environment.NewLine); HtmlTextWriter htw = nouveau HtmlTextWriter (sw); gvSerchResult.AllowPaging = false; gvSerchResult.AllowSorting = false; BindGridView (); gvSerchResult.RenderControl (htw);
StreamWriter strWriter = new StreamWriter (strHTMLpath, false, Encoding.UTF8); strWriter.Write ("> "+ htw.InnerWriter.ToString () +" "); strWriter.Close (); strWriter.Dispose ();
-
Utilisez le "parseur" pour convertir le contenu HTML en PDF:
iTextSharp.text.html.simpleparser. StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet (); styles.LoadTagStyle ("ol", "leader", "16,0"); PdfWriter.GetInstance (document, nouveau FileStream (strPDFpath, FileMode.Create)); document.Open ();
-
Définissez les polices pour les éléments de la page et ajoutez-y des éléments:
Objets ArrayList; styles.LoadTagStyle ("li", "face", "garamond"); styles.LoadTagStyle ("span", "taille", "8px"); styles.LoadTagStyle ("corps", "famille de polices", "times new roman"); styles.LoadTagStyle ("corps", "taille de police", "12px"); document.NewPage (); objets = iTextSharp.text.html.simpleparser. HTMLWorker.ParseToList (nouveau StreamReader (strHTMLpath, Encoding.Default), styles); for (int k = 0; k <objets.Compte; k ++) {document.Add ((IElement) objets [k]); }
-
Effacez les variables de mémoire et fermez les fichiers:
{document.Close (); Response.Write (Server.MapPath ("~ /" + strPDFpath)); Response.ClearContent (); Response.ClearHeaders (); Response.AddHeader ("Content-Disposition", "pièce jointe; nomfichier =" + 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)); }}
-
Exécutez le fichier C # pour créer le fichier PDF à partir du fichier HTML.
Ce dont vous avez besoin
- Éditeur C #