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.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…