Hoe HTML naar PDF te converteren met iTextSharp

Schrijver: Peter Berry
Datum Van Creatie: 12 Augustus 2021
Updatedatum: 17 November 2024
Anonim
pdfHTML, converting HTML to PDF with iText 7
Video: pdfHTML, converting HTML to PDF with iText 7

Inhoud

ITextSharp is onderdeel van iText, een gratis Java-bibliotheek met code voor het genereren van PDF's. Het is ontwikkeld in C # voor het .NET-platform. PDF's zijn documenten van een vast formaat die vaak worden gebruikt om afdrukbare inhoud op websites te leveren.


routebeschrijving

Converteer een HTML-document naar PDF (bestandsafbeelding door Alex White van Fotolia.com)
  1. Open een C # -editor.

  2. Maak een C # -bestand en voeg de onderstaande code toe.

  3. Gebruik een "namespace" om de iTextSharp-bibliotheek te bellen:

    iTextShart.text; met iTextSharp.text.pdf;

  4. Roep de embedding-klasse in iTextSharp aan en stel StringBuilder in om leeg te maken:

    Document document = nieuw document (PageSize.A4, 80, 50, 30, 65); StringBuilder strData = new StringBuilder (string.Empty);

  5. Voeg een pad toe om HTML te genereren vanuit GridView-inhoud:

    string strHTMLpath = Server.MapPath ("MyHTML.html");

  6. Stel het pad naar de constructie van het PDF-bestand in:

    string strPDFpath = Server.MapPath ("MyPDF.pdf");


  7. Bel de gegevens in het HTML-bestand en verwerk het bestand:

    StringWriter sw = nieuwe 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 = nieuwe StreamWriter (strHTMLpath, false, Encoding.UTF8); strWriter.Write ("> "+ htw.InnerWriter.ToString () +" "); strWriter.Close (); strWriter.Dispose ();

  8. Gebruik de "parser" om HTML-inhoud naar een PDF te converteren:

    iTextSharp.text.html.simpleparser. StyleSheet-stijlen = nieuwe iTextSharp.text.html.simpleparser.StyleSheet (); styles.LoadTagStyle ("ol", "leading", "16,0"); PdfWriter.GetInstance (document, nieuwe FileStream (strPDFpath, FileMode.Create)); document.Open ();


  9. Stel de lettertypen voor de elementen op de pagina in en voeg er items aan toe:

    ArrayList-objecten; 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 (); objects = iTextSharp.text.html.simpleparser. HTMLWorker.ParseToList (nieuwe StreamReader (strHTMLpath, Encoding.Default), stijlen); for (int k = 0; k <objects.Count; k ++) {document.Add ((IElement) -objecten [k]); }

  10. Wis de geheugenvariabelen en sluit de bestanden:

    {document.Close (); Response.Write (Server.MapPath ("~ /" + strPDFpath)); Response.ClearContent (); Response.ClearHeaders (); Response.AddHeader ("Content-Disposition", "attachment; bestandsnaam =" + strPDFpath); Response.ContentType = "toepassing / octet-stream"; Response.WriteFile (Server.MapPath ("~ /" + strPDFpath)); Response.Flush (); Response.Close (); if (File.Exists (Server.MapPath ("~ /" + strPDFpath))) {File.Delete (Server.MapPath ("~ /" + strPDFpath)); }}

  11. Voer het C # -bestand uit om het PDF-bestand te maken vanuit het HTML-bestand.

Wat je nodig hebt

  • C # -editor

Naat het maken van betrouwbare auto', maakt Honda ook een breed cala aan motorfieten, van traatmodellen tot portwagen. De hadow VLX i van het laatte type en i een geweldige motorfiet voor op de we...

Hoe de omzet te halveren

Judy Howell

November 2024

Het maken van grotere of kleinere recepten kan een frutrerende ervaring zijn, vooral voor minder ervaren kok. Het i eenvoudig genoeg om bijna elk getal te verdubbelen of te verdrievoudigen bij het ver...

Interessant Vandaag