Hello. I'm using PDFBox in my application to modify existing PDF files. I need to place barcode to first page of PDF document.
So first i create new PDF file with inserted barcode: BufferedImage awtImage = ImageIO.read(new ByteArrayInputStream(out.toByteArray())); PDDocument document = new PDDocument(); PDPage pag = new PDPage(new PDRectangle(60, 60)); document.addPage(pag); PDXObjectImage ximage = new PDPixelMap(document, awtImage); PDPageContentStream stream = new PDPageContentStream(document, pag, false, false); stream.drawXObject(ximage, 0, 0, ximage.getWidth(), ximage.getHeight()); stream.close(); If i save it to PDF it's OK. Then i try to place it as new layer into existing PDF: Point barlocation = new Point(0,0); int offset = Math.round(25); float Height = page.getMediaBox().getHeight(); float Width = page.getMediaBox().getWidth(); barlocation.setLocation(Width - pag.getMediaBox().getWidth(), Height - pag.getMediaBox().getHeight()); //I need to place it in the top right corner LayerUtility layerUtility = new LayerUtility(doc); List bigPages = doc.getDocumentCatalog().getAllPages(); PDXObjectForm firstForm = layerUtility.importPageAsForm(document, 0); AffineTransform affineTransform = new AffineTransform(); // Identity... your requirements may differ affineTransform.scale(10,10); affineTransform.translate(barlocation.x , barlocation.y); layerUtility.appendFormAsLayer((PDPage) bigPages.get(0), firstForm, affineTransform, "barcode layer"); doc.save(path); doc.close(); But there is something wrong with position and size of my inserted PDF (as new layer). It's too small and position is wrong. I'm confused, i think myabe there are some dependencies on scale, but i'm not sure. Please, help me with some clues. Sorry my bad English. I have attached java file with source code and some PDF files (i get different results on different PDF documents, it depends on document size) named files.zip Kind regards, Mamedov Ilgar.
<<attachment: files.zip>>
--------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

