Click here to Skip to main content
12,756,514 members (32,019 online)
Rate this:
Please Sign up or sign in to vote.
See more: C# ASP.NET
Hi all,

My task is to generate the invoice in pdf. I have an html template. i am replacing some of the html content with name, address, contact number into a string . Now i am unable to get the pdf by using the itextsharper. I am not getting the css, perfect design in the pdf. pdf is generating by using itextsharper. Can anyone help me.
Posted 4-Oct-12 2:31am
Ashraff Ali Wahab 4-Oct-12 10:13am
All CSS are not coming or you have problem with specific CSS or images.
If possible post the sample HTML and code you used to generate the PDF

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using iTextSharp.text;
using iTextSharp.text.html;
using iTextSharp.text.pdf;
using iTextSharp.text.html.simpleparser;
using System.IO;
using System.util;
using System.Net;
using System.Xml;

protected void btn_submit_Click(object sender, EventArgs e)
        using (StreamReader reader = new StreamReader(Server.MapPath("~") + "/App_Data/test.html"))
            String line = reader.ReadToEnd();

    protected void Text2PDF(string PDFText)
        //HttpContext context = HttpContext.Current;
        StringReader reader = new StringReader(PDFText);

        //Create PDF document 
        Document document = new Document(PageSize.A4);
        HTMLWorker parser = new HTMLWorker(document);

        string PDF_FileName = Server.MapPath("~") + "/App_Data/PDF_File.pdf";
        PdfWriter.GetInstance(document, new FileStream(PDF_FileName, FileMode.Create));

        catch (Exception ex)
            //Display parser errors in PDF. 
            Paragraph paragraph = new Paragraph("Error!" + ex.Message);
            Chunk text = paragraph.Chunks[0] as Chunk;
            if (text != null)
                text.Font.Color = BaseColor.RED;

    private void DownLoadPdf(string PDF_FileName)
        WebClient client = new WebClient();
        Byte[] buffer = client.DownloadData(PDF_FileName);
        Response.ContentType = "application/pdf";
        Response.AddHeader("content-length", buffer.Length.ToString());

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

    Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy | Mobile
Web02 | 2.8.170217.1 | Last Updated 4 Oct 2012
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100