PDFBox è una libreria Java per la realizzazione di PDF. Oggi vedremo come cambiare l’orientamento di una pagina.
Per disegnare una pagina con PDFBox queste sono le istruzioni Java:
ByteArrayOutputStream output = null; try { output = new ByteArrayOutputStream(); PDDocument document = new PDDocument(MemoryUsageSetting.setupTempFileOnly()); PDPageContentStream contentStream = null; PDPage pdfPage = new PDPage(); document.addPage(pdfPage); contentStream = new PDPageContentStream(document, pdfPage, AppendMode.APPEND, false); /* Then we write pdf behaviour on contentStream. */ ... if (document != null) { document.save(output); document.close(); } }catch(Exception ex){ StringWriter stringWriterDocument = new StringWriter(); e.printStackTrace(new PrintWriter(stringWriter)); ... } |
Se volessimo cambiare le opzioni di default dell’oggetto PDPage basta aggiungere un PDRectangle nel costruttore della PDPage.
/* width & height specification of page resolution. */ PDRectangle pageSize = PDRectangle(width, height); |
La risoluzione di default della PDPage è PDRectangle.A4.getHeight() * PDRectangle.A4.getWidth().
Per ottenere la larghezza e l’altezza di una PDPage può essere utilizzato il metodo getMediaBox() sull’oggetto PDPage.
Tornando all’orientamento se desideriamo ecco un esempio di switch dell’orientamento in PDFBox, ossia un “PDFBox 2 Change Page Orientation”.
public static PDRectangle getPageResolution(boolean isVertical) { float width = 0; float height = 0; if (isVertical) { float paramMoltiplicator = PDRectangle.A4.getHeight()/PDRectangle.A4.getWidth(); width = paramMoltiplicator*PDRectangle.A4.getWidth(); height = paramMoltiplicator*PDRectangle.A4.getHeight(); } else { width = 1600f; height = 1000f; } return new PDRectangle(width, height); } |