I looked at the SuperimposePage example... that one uses q....Q
operators around the layer... and a bit more.
https://svn.apache.org/viewvc/pdfbox/branches/1.8/examples/src/main/java/org/apache/pdfbox/examples/documentmanipulation/SuperimposePage.java?view=markup&sortby=date
Tilman
Am 25.05.2015 um 11:49 schrieb Mamedov I.Z.:
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.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]