Started playing with PDFBox
PDDocument document = new PDDocument();
PDPage page = new PDPage();
document.addPage( page );
PDFont font = PDType1Font.HELVETICA_BOLD;
PDPageContentStream contentStream = new PDPageContentStream(document, page);
contentStream.beginText();
contentStream.setFont( font, 12 );
contentStream.moveTextPositionByAmount( 100, 700 );
contentStream.drawString( "Hello World" );
contentStream.endText();
contentStream.close();
document.save("Page.pdf");
document.close();
but I want to set the file size to be PDPage.PAGE_SIZE_A5. I've tried setting all the setXXXBox(PDRectangle mediaBox) method signatures but I can't get the expected output.
page.setArtBox(PDPage.PAGE_SIZE_A5); // ??
page.setMediaBox(PDPage.PAGE_SIZE_A5); // ??
Any ideas?
One major difference is that PDFBox always processes text glyph by glyph while iText normally processes it chunk (i.e. single string parameter of text drawing operation) by chunk; that reduces the required resources in iText quite a lot.
public class PDRectangle extends Object implements COSObjectable. A rectangle in a PDF document.
Is PDFBox thread safe? No! Only one thread may access a single document at a time. You can have multiple threads each accessing their own PDDocument object.
Quick note: in PDFBox 2 replace PDPage.PAGE_SIZE_A5
with PDRectangle.A5
, i.e.
PDPage page = new PDPage(PDRectangle.A5);
Use PDPage.PAGE_SIZE_A5
to change size to A5
PDPage page = new PDPage(PDPage.PAGE_SIZE_A5);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With