Ellen - what you write isn't true for Adobe Acrobat/Reader (can't comment on others).
The preview you see in the Acrobat/Reader print dialog is ALSO based on the CropBox, as per the PDF Reference. Leonard On Apr 22, 2008, at 10:15 AM, Ning Zhao wrote: > Hi Sapien, > > recently I fought against a similar problem during my work and got it > straight. Some facts to notice: > > 1. The mainstream pdf readers only render the cropbox area on screen. > Only when you hit the "print" button can you view your document in the > mediabox, in your "print preview" screen. This could cause confusion > when the cropbox is really smaller than the mediabox. So, make sure > you > get the coordinates of corners of your cropbox and mediabox and be > clear > where your watermark should appear. Relative to mediabox or cropbox? > Sometimes you may really place your watermark right but only cannot > see > it on screen. They can be seen when you print your doc off. > > 2. There are methods likes top(), bottom(), left(), right() you can > apply to a PdfRectangle object in the iText API to get the coordinates > of your cropbox and mediabox. > > Hope that helps. > > > Best Regards, > Ellen N. Zhao > > Sapien schrieb: >> Thanks for the tip Paulo, this appears to be what I need, and I've >> done some >> investigating into both mediabox and cropbox. I've tried >> implementing some >> examples in my code, but can't seem to get it right. Has anyone >> successfully used mediabox and cropbox in Coldfusion within a >> cfscript tag? >> Many thanks. >> >> >> Paulo Soares wrote: >> >>> You need to take into account the mediabox and the cropbox to >>> place the >>> text, placing it always at the same height won't work. >>> >>> Paulo >>> >>> ----- Original Message ----- >>> From: "Sapien" <[EMAIL PROTECTED]> >>> To: <itext-questions@lists.sourceforge.net> >>> Sent: Thursday, April 10, 2008 6:02 PM >>> Subject: [iText-questions] iText Watermark position issue >>> >>> >>> >>>> Coders, >>>> >>>> Please forgive me in advance as my java kung foo is not that >>>> strong. I >>>> have >>>> a site which allows users to merge multiple pdf documents they >>>> choose via >>>> a >>>> checklist, and then it will apply a small watermark to the top left >>>> (xposition 158, yposition 743). The problem is that there are >>>> some pdfs >>>> in >>>> which the watermark gets set in the middle of the page instead >>>> of the top >>>> left. I believe I have read in some forums where it may be a >>>> size issue >>>> of >>>> sorts, but I'm still confused. I do know that I have found a >>>> weird work >>>> around, which involves saving the pdf documents that don't work >>>> right, >>>> then >>>> rescanning via copy machine and having my copy machine send it >>>> back to me >>>> via email. It will then apply the watermark to the upper left >>>> corner. I >>>> will attach my code below (note: code is written in coldfusion >>>> and java): >>>> >>>> >>>> <!--- BEGIN WATERMARK SCRIPT ---> >>>> >>>> <cfscript> >>>> >>>> paths = arrayNew(1); >>>> >>>> /* >>>> This points to the jar we want to load. >>>> Could also load a directory of .class files >>>> */ >>>> paths[1] = expandPath("iText.jar"); >>>> >>>> //create the loader >>>> loader2 = createObject("component", "javaloader.JavaLoader").init >>>> (paths); >>>> >>>> function insertWatermarkPDF(pdfFileIn, imageFile, pdfFileOut, >>>> xPos, yPos, >>>> zIndex) >>>> { >>>> // zindex refers to placing the image over or under the content, >>>> default >>>> is >>>> under >>>> // but if your content has a background, it may obscure the >>>> watermark >>>> if (NOT structKeyExists(arguments, "zIndex")) >>>> arguments.zIndex = 0; >>>> >>>> //try >>>> //{ >>>> document = loader2.create("com.lowagie.text.Document"); >>>> document.init(); >>>> >>>> pdfReader = loader2.create("com.lowagie.text.pdf.PdfReader"); >>>> pdfReader.init(arguments.pdfFileIn); >>>> >>>> // page countING >>>> n = pdfReader.getNumberOfPages(); >>>> >>>> // creae an outputstream >>>> streamOut = loader2.create("java.io.FileOutputStream"); >>>> streamOut.init(arguments.pdfFileOut); >>>> >>>> // give it to the pdfstamper >>>> pdfStamper = loader2.create("com.lowagie.text.pdf.PdfStamper"); >>>> pdfStamper.init(pdfReader, streamOut); >>>> >>>> // contentbyte is a static object, no constructor >>>> under = loader2.create("com.lowagie.text.pdf.PdfContentByte"); >>>> >>>> // create the Image handler, static object, no constructor >>>> Image = loader2.create("com.lowagie.text.Image"); >>>> >>>> // now create an instance with this file (report_watermark.jpg) >>>> img = Image.getInstance(JavaCast("string", arguments.imageFile)); >>>> img.setAbsolutePosition(arguments.xPos, arguments.yPos); >>>> >>>> for (ii = 1; ii LT n; ii = ii + 1) >>>> { >>>> // pdfStamper supports getUnderContent() and getOverContent() >>>> if (arguments.zIndex) >>>> under = pdfStamper.getOverContent(JavaCast("int", ii)); >>>> else >>>> under = pdfStamper.getUnderContent(JavaCast("int", ii)); >>>> >>>> under.addImage(img); >>>> } >>>> >>>> pdfStamper.close(); >>>> >>>> return true; >>>> //} >>>> //catch (any e) >>>> //{ >>>> // return false; >>>> //} >>>> } >>>> >>>> </cfscript> >>>> >>>> <cfoutput>#insertWatermarkPDF("<PATH REMOVED>\concatenation.pdf" >>>> ,"<PATH REMOVED>\n#form.tail#up.gif" >>>> ,"<PATH REMOVED>\concatenation2.pdf" >>>> ,158 >>>> ,743 >>>> ,1)# >>>> </cfoutput> >>>> >>>> I hope this isn't confusing. Thanks in advance for everyone's >>>> assistance. >>>> >>> -------------------------------------------------------------------- >>> ----- >>> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >>> Don't miss this year's exciting event. There's still time to save >>> $100. >>> Use priority code J8TL2D2. >>> http://ad.doubleclick.net/clk;198757673;13503038;p?http:// >>> java.sun.com/javaone >>> _______________________________________________ >>> iText-questions mailing list >>> iText-questions@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/itext-questions >>> >>> Do you like iText? >>> Buy the iText book: http://www.1t3xt.com/docs/book.php >>> Or leave a tip: https://tipit.to/itexttipjar >>> >>> >>> >> >> > > > -- > HaCon Ingenieurgesellschaft mbH > Lister Str. 15 > 30163 Hannover > Germany/Deutschland > Tel. +49 511 33699-363 > Fax. +49 511 33699-99 > Email: [EMAIL PROTECTED] > http://www.hacon.de > > Registry Court/Amtsgericht Hannover HRB 1712 > Managing Directors/Geschäftsführer: Michael Frankenberg, > Dr.-Ing. Marian Gaidzik, Dr.-Ing. Werner Kretschmer, > Werner Sommerfeld, Dr.-Ing. Volker Sustrate, Peter Talke > > > ---------------------------------------------------------------------- > --- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save > $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http:// > java.sun.com/javaone > _______________________________________________ > iText-questions mailing list > iText-questions@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/itext-questions > > Do you like iText? > Buy the iText book: http://www.1t3xt.com/docs/book.php > Or leave a tip: https://tipit.to/itexttipjar > ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ iText-questions mailing list iText-questions@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/itext-questions Do you like iText? Buy the iText book: http://www.1t3xt.com/docs/book.php Or leave a tip: https://tipit.to/itexttipjar