How to set the page size to Envelope size with Landscape orientation?

前端 未结 2 678
-上瘾入骨i
-上瘾入骨i 2020-12-12 04:09

I have problem on creating .pdf file with the Page settings as Envelope ,landscape format.

Here is my Code to convert the asp page into pdf in Itextsharp

<         


        
相关标签:
2条回答
  • 2020-12-12 04:24

    You are creating an A4 document in landscape format with this line:

    Document pdfDoc = new Document(PageSize.A4.Rotate(), 10f, 10f, 100f, 0f);
    

    If you want to create a document in envelope format, you shouldn't create an A4 page, instead you should do this:

    Document pdfDoc = new Document(envelope, 10f, 10f, 100f, 0f);
    

    In this line, envelope is an object of type Rectangle.

    There is no such thing as the envelope size. There are different envelope sizes to choose from: http://www.paper-papers.com/envelope-size-chart.html

    For instance, if you want to create a page with the size of a 6-1/4 Commercial Envelope, then you need to create a rectangle that measures 6 by 3.5 inch. The measurement system in PDF doesn't use inches, but user units. By default, 1 user unit = 1 point, and 1 inch = 72 points.

    Hence you'd define the envelope variable like this:

    Rectangle envelope = new Rectangle(432, 252);
    

    Because:

    6 inch x 72 points = 432 points (the width)
    3.5 inch x 72 points = 252 points (the height)
    

    If you want a different envelope type, you have to do the calculations of the dimensions of that envelope format.

    0 讨论(0)
  • 2020-12-12 04:47

    I want to generate multiple pdf by using this code but it is generating only one PDF ... then going to catch block, Please give solution of this problem.

    Response.ContentType = "application/pdf";
    Response.AddHeader("content-disposition", "attachment;filename=" + begin + ".pdf");
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    StringWriter sw = new StringWriter();
    HtmlTextWriter hw = new HtmlTextWriter(sw);
    Panel1.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();
    
    0 讨论(0)
提交回复
热议问题