Sto cercando di creare un PDF da una pagina HTML. Il CMS che sto usando è EPiServer.Ho bisogno di aiuto con la creazione di PDF da HTML utilizzando itextsharp
Questo è il mio codice finora:
protected void Button1_Click(object sender, EventArgs e)
{
naaflib.pdfDocument(CurrentPage);
}
public static void pdfDocument(PageData pd)
{
//Extract data from Page (pd).
string intro = pd["MainIntro"].ToString(); // Attribute
string mainBody = pd["MainBody"].ToString(); // Attribute
// makae ready HttpContext
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "application/pdf";
// Create PDF document
Document pdfDocument = new Document(PageSize.A4, 80, 50, 30, 65);
//PdfWriter pw = PdfWriter.GetInstance(pdfDocument, HttpContext.Current.Response.OutputStream);
PdfWriter.GetInstance(pdfDocument, HttpContext.Current.Response.OutputStream);
pdfDocument.Open();
pdfDocument.Add(new Paragraph(pd.PageName));
pdfDocument.Add(new Paragraph(intro));
pdfDocument.Add(new Paragraph(mainBody));
pdfDocument.Close();
HttpContext.Current.Response.End();
}
Emette il contenuto del nome dell'articolo, intro-text e il corpo principale. Ma non analizza l'HTML che si trova nel testo dell'articolo e non c'è un layout.
Ho provato a dare un'occhiata a http://itextsharp.sourceforge.net/tutorial/index.html senza diventare più saggio.
Eventuali puntatori a giusta direzione è molto apprezzato :)
Grande. Grazie. Can 'YourHtmlDocument.html' può essere l'URL della pagina? – Steven
PS. Non penso che la versione più recente di iTextSharp abbia HtmlParser. Il più vicino ho capito 'iTextSharp.text.html.simpleparser.HTMLWorker' Ma usando quello, richiede un TextReader per l'analisi ..... – Steven
@Steven - Hai ragione! Scusa, ho caricato un vecchio programma di test (con una vecchia versione di iTextSharp) quando ho risposto alla tua domanda. Hai ragione, HTMLWorker è il modo in cui vorresti farlo. Ho modificato la mia risposta sulla base di test (limitati) effettuati con HTMLWorker e iTextSharp 5.0. –