Hi Tilman, Like magic.... Thank you very much!!!!
Do I want to know what "resetContext - Tell if the graphic context should be reseted." Does? Thanks, Patrick -----Original Message----- From: Tilman Hausherr [mailto:[email protected]] Sent: Thursday, February 18, 2016 1:39 PM To: [email protected] Subject: Re: Issue with PDPageContentStream setTextMatrix with PDF pages rotated Please change this line PDPageContentStream canvas = new PDPageContentStream(doc, page, true, true); add a 5th param which should be "true". Does it work now? Tilman Am 18.02.2016 um 16:21 schrieb Stahle, Patrick: > Hi, > > I am not sure if this is a bug or is working as designed. I am applying a > text stamp to existing PDF's at a particular location on the PDF. The problem > only occurs when the pdf page(s) are rotated. I have even tried taking a PDF > that was originally rotated and using PDF Editor and rotated it back to 0, > but the same issue still occurs. It seems like my Matrix I am setting is > being scaled. Here is some example code that reproduces the issue: > > // Note: this is using PDFBox 2.x. Tried both lates SNAPSHOT and RC3 > > PDDocument doc = null; > PDFont font = PDType1Font.HELVETICA_BOLD; > float fontSize = 60.0F; > > try { > doc = PDDocument.load(pdfIn); > PDPage page = null; > for (int i = 0; i < > doc.getNumberOfPages(); i++) { > page = > doc.getPage(i); > > logger.debug(pdfOut.getAbsolutePath() + " - page " + i + " rotation=" + > page.getRotation() + ", mediaBox=" + page.getMediaBox()); > Matrix > posMatrix = new Matrix(1.0F, 0.0F, 0.0F, 1.0F, x, y); > > logger.debug("Stamp matrix=" + posMatrix); > > PDPageContentStream canvas = new PDPageContentStream(doc, page, true, true); > > canvas.saveGraphicsState(); > > canvas.setFont(font, fontSize); > > canvas.beginText(); > > canvas.setNonStrokingColor(Color.RED); > > canvas.setTextMatrix(posMatrix); > > canvas.showText(text); > > canvas.endText(); > > canvas.restoreGraphicsState(); > > canvas.close(); > } > doc.save(pdfOut); > > // Output > 130 [main] DEBUG > com.tycoelectronics.emcs.stamppdf.PDFBoxExamples.StampText - > /home/us083485/PDFBoxWork/ENG_PD_1725700-SAMT_F_1725700StampedPDFBox.p > df - page 0 rotation=270, mediaBox=[0.0,0.0,792.0,1224.0] > 130 [main] DEBUG > com.tycoelectronics.emcs.stamppdf.PDFBoxExamples.StampText - Stamp > matrix=[1.0,0.0,0.0,1.0,333.66,122.0] > 166 [main] DEBUG > com.tycoelectronics.emcs.stamppdf.PDFBoxExamples.StampText - > /home/us083485/PDFBoxWork/ENG_PD_1725700-SAMT_F_1725700StampedPDFBox.p > df - page 1 rotation=270, mediaBox=[0.0,0.0,792.0,1224.0] > 166 [main] DEBUG > com.tycoelectronics.emcs.stamppdf.PDFBoxExamples.StampText - Stamp > matrix=[1.0,0.0,0.0,1.0,333.66,122.0] > 167 [main] DEBUG > com.tycoelectronics.emcs.stamppdf.PDFBoxExamples.StampText - > /home/us083485/PDFBoxWork/ENG_PD_1725700-SAMT_F_1725700StampedPDFBox.p > df - page 2 rotation=270, mediaBox=[0.0,0.0,792.0,1224.0] > 167 [main] DEBUG > com.tycoelectronics.emcs.stamppdf.PDFBoxExamples.StampText - Stamp > matrix=[1.0,0.0,0.0,1.0,333.66,122.0] > 168 [main] DEBUG > com.tycoelectronics.emcs.stamppdf.PDFBoxExamples.StampText - > /home/us083485/PDFBoxWork/ENG_PD_1725700-SAMT_F_1725700StampedPDFBox.p > df - page 3 rotation=270, mediaBox=[0.0,0.0,792.0,1224.0] > 168 [main] DEBUG > com.tycoelectronics.emcs.stamppdf.PDFBoxExamples.StampText - Stamp > matrix=[1.0,0.0,0.0,1.0,333.66,122.0] > 169 [main] DEBUG > com.tycoelectronics.emcs.stamppdf.PDFBoxExamples.StampText - > /home/us083485/PDFBoxWork/ENG_PD_1725700-SAMT_F_1725700StampedPDFBox.p > df - page 4 rotation=270, mediaBox=[0.0,0.0,792.0,1224.0] > 169 [main] DEBUG > com.tycoelectronics.emcs.stamppdf.PDFBoxExamples.StampText - Stamp > matrix=[1.0,0.0,0.0,1.0,333.66,122.0] > 170 [main] DEBUG > com.tycoelectronics.emcs.stamppdf.PDFBoxExamples.StampText - > /home/us083485/PDFBoxWork/ENG_PD_1725700-SAMT_F_1725700StampedPDFBox.p > df - page 5 rotation=270, mediaBox=[0.0,0.0,792.0,1224.0] > 170 [main] DEBUG > com.tycoelectronics.emcs.stamppdf.PDFBoxExamples.StampText - Stamp > matrix=[1.0,0.0,0.0,1.0,333.66,122.0] > > Now When I look at the stamped PDF the text is not in the position I would > expect (x=333.66, y=122.0), instead it is in the lower right hand corner and > the font size has been scaled down significantly. When I load it into a PDF > Editor to look at it the matrix for the text has been changed to the > following: > Matrix=[0, 0.12, -0.12, 0, 1178.35999, 56.0392] Font name and size is > what it is supposed to be. > > So it looks like some kind of scaling is going on. Note that the text is > rotated properly, just that the text size and position does not look correct > to me. If this is working as designed then any suggestion on how to > mathematically to get the text to show up not scaled would be appreciated. > Also, I have some iText code basically doing the same thing that does not > show this behavior. > > Thanks All for any help / suggestions, Patrick > > > > > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

