Paulo,
I wanted to thank you for the assistance you provided - I ended up
converting everything over to use PdfContentByte rather than mixing
document.add() with PdfContentByte. All works well.
Your dedication and willingness to help are greatly appreciated and
I can not be the only one with such an opinion.
Thanks again,
Jim
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Paulo
Soares
Sent: Friday, November 19, 2004 2:26 AM
To: Jim Owen; [EMAIL PROTECTED]
Subject: RE: [iText-questions] Help on graphics/text placement
Whatever you do with PdfContentByte will never cause a new page. If you
have a new page it was caused by the Document.add().
> -----Original Message-----
> From: Jim Owen [mailto:[EMAIL PROTECTED]
> Sent: Thursday, November 18, 2004 10:35 PM
> To: Paulo Soares; [EMAIL PROTECTED]
> Subject: RE: [iText-questions] Help on graphics/text placement
>
> Thanks Paulo.
>
> What is a better approach to this? I was using existing code
> to clone new
> methods, but I can certainly do something different.
>
> Also, I'm not sure what relevance getVerticalPosition() has
> to sorting out
> the original issue. From the javadocs, it simply returns a
> current page
> position. What would I do with it then?
>
> Regards,
>
> Jim
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On
> Behalf Of Paulo
> Soares
> Sent: Thursday, November 18, 2004 2:37 AM
> To: Jim Owen; [EMAIL PROTECTED]
> Subject: RE: [iText-questions] Help on graphics/text placement
>
> Mixing Document.add() and PdfContentByte can result in
> serious risks to
> your health. Use the latest version and
> PdfWriter.getVerticalPosition().
> It's safer but it still can fail.
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On
> > Behalf Of Jim Owen
> > Sent: Wednesday, November 17, 2004 10:49 PM
> > To: [EMAIL PROTECTED]
> > Subject: [iText-questions] Help on graphics/text placement
> >
> > Hi,
> >
> > I've run into a problem where I'm getting an extra page in a
> > generated PDF file that contains images that I expected to be
> > placed on the
> > prior page. In other words, I output a bunch of text, then
> > place graphics
> > on the page with a PdfContentByte. I'm ending up with the
> > text on one page
> > and the graphics following on the next.
> >
> > It's probably something pretty simple, but I've bashed
> > on it long
> > enough.
> >
> > Here's the code with a lot of pseudo-code for simplicity:
> >
> > Any help would be appreciated.
> >
> > Regards,
> >
> > Jim
> >
> > // Get an input file reader - just a text file
> > BufferedReader in = new BufferedReader(new FileReader(
> > inputFilename ));
> > PdfWriter writer = null;
> >
> > // Get the first line and start processing
> > String inputLine = in.readLine();
> > while ( inputLine != null )
> > {
> > // Check if we are starting a new statement from the file.
> > // Find out if this line is an placeholder for a new
> > statement. Get
> > // output file name from the line.
> > // If starting a new statement, then need to finalize the prior
> >
> > // statement.
> > If ( newStatement )
> > {
> > // Place images on page since we just finished
> some other
> > // statement. With special handing for first
> > page. But
> > // want to do this before next page so images are
> > // placed on the correct page.
> > PdfContentByte cb = writer.getDirectContent();
> > // Get the image
> > buffImage = (BufferedImage)eImages.nextElement();
> > // Now get a document image
> > Image image = Image.getInstance(buffImage, null);
> > // Calculate a value for x and y and set it in the image.
> > image.setAbsolutePosition(xPos, yPos );
> > // Add the image to the output.
> > cb.addImage(image);
> > // Null the reference
> > cb = null;
> > // close the document now
> > document.close();
> > }
> > // Now Start a new document
> > document = new Document(PageSize.LETTER );
> > // Open the output writer
> > writer = PdfWriter.getInstance(document, new
> FileOutputStream(
> > pdfFile ));
> > // Set some preferences
> > // Open the document
> > document.open();
> >
> > // Init some values
> > currLine = 0;
> > }
> > // Check if we have a signature position
> > // If we have one, then store the image into the vector or later
> > processing
> >
> > // Now output the line to the document.
> > inputLine += "\n";
> > Phrase p = new Phrase( inputLine,
> > FontFactory.getFont(FontFactory.COURIER, 10, Font.NORMAL, new
> > Color(0, 0,
> > 0)));
> > // Add the phrase to the document.
> > document.add( p );
> >
> > // Now check if we are at the end of a page in the statement
> > // We'll need to output the images, if so.
> > // Do all the same stuff here as when we start a new statement
> > except call newPage();
> > document.newPage();
> >
> > // Read the next line.
> > inputLine = in.readLine();
> > }
> >
> > // Close up stuff
> > in.close();
> > in = null;
> >
> > // See if there is anything to output on the final page and
> > output it if
> > so.
> > // Close the document.
> > document.close();
> >
> >
> >
> > -------------------------------------------------------
> > This SF.Net email is sponsored by: InterSystems CACHE
> > FREE OODBMS DOWNLOAD - A multidimensional database that combines
> > robust object and relational technologies, making it a perfect match
> > for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
> > _______________________________________________
> > iText-questions mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/itext-questions
> >
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: InterSystems CACHE
> FREE OODBMS DOWNLOAD - A multidimensional database that combines
> robust object and relational technologies, making it a perfect match
> for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
> _______________________________________________
> iText-questions mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/itext-questions
>
>
-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE
FREE OODBMS DOWNLOAD - A multidimensional database that combines
robust object and relational technologies, making it a perfect match
for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
_______________________________________________
iText-questions mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/itext-questions
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/
_______________________________________________
iText-questions mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/itext-questions