ciao!
partendo dal presupposto che un A4 è 595.35x842 points.
per quanto riguarda la dimensione, ho provato questa conversione:
codice:public void createPdf() throws IOException { try (PDDocument doc = new PDDocument()) { for (String str : images) { PDPage page = new PDPage(PDRectangle.A4); doc.addPage(page); PDImageXObject pdImage = PDImageXObject.createFromFile(str, doc); float w = pdImage.getWidth(); float h = pdImage.getHeight(); // float areaX = page.getMediaBox().getWidth(); // float areaY = page.getMediaBox().getHeight(); float finalW = w * 25.4f / 72; float finalH = h * 25.4f / 72; System.out.println(finalW); System.out.println(finalH); try (PDPageContentStream contents = new PDPageContentStream(doc, page)) { contents.drawImage(pdImage, 0, 0, finalW, finalH); } } doc.save("/home/matte/Desktop/sample.pdf"); } } }
andiamo un pò meglio.
però, ad esempio una immagine ha queste dimensioni convertite: 903.1111x564.44446.
quindi sfora ancora in larghezza.

Rispondi quotando