PDFBox 2 Change Page Orientation

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);

Orientamento PDPage in PDFBox 2

PDFBox 2 Change page orientation


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);
	}
PDFBox 2 Change Page Orientation ultima modidfica: 2016-09-17T15:10:07+02:00 da Gianluca Di Vincenzo
Posted in: Java

By on 17 Settembre 2016

Tagged: , , , ,