ATTENZIONE: Questo sito impiega diversi tipi di cookies. Alla pagina MAGGIORI INFORMAZIONI è possibile avere informazioni aggiuntive. Cliccando su ACCETTO o continuando a navigare sul sito acconsenti al loro utilizzo.
<aprile 2024>
lunmarmergiovensabdom
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
Immagini  

Write to PDF con iTextSharp.dll

Per creare un PDF a partire dal contenuto di una pagina HTML, il metodo più semplice è quello di usare la libreria iTextSharp.dll
Aggiungere alla pagina un controllo di tipo Panel chiamato pdfPanel
Inserire nel Panel tutti gli oggetti che vogliamo vengano poi inviati al PDF, esattamente nella posizione che ci piace
Aggiungere un Button fuori dal Panel pdfPanel e all'evento click inserire il codice seguente
E' importante anche aggiungere l'override dell'evento VerifyRenderingInServerForm e inserire nella direttiva @Page l'attributo EnableEventValidation="false"

protected void btnSave_Click(object sender, EventArgs e)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=print.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
pdfPanel.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
}

public override void VerifyRenderingInServerForm(Control control)
{
  
//
}

Notifiche