How to set the page size to Envelope size with Landscape orientation?
I create a PDF document using iTextSharp and this code: Document pdfDoc = new Document(PageSize.A4.Rotate(), 10f, 10f, 100f, 0f);
I googled but I couldn't find the Envelope size. How do I set the page size as Envelope with Landscape orientation?
Posted on StackOverflow on Sep 17, 2014 by King_Fisher
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. Take a look at the envelope size chart.
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 Math with the dimensions of that envelope format.
Click this link if you want to see how to answer this question in iText 7.