onGenericTag only works with non rotated objects placed in the main page. Paulo
----- Original Message ----- From: "Eric Summkeller" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Tuesday, December 19, 2006 4:48 PM Subject: [iText-questions] Problem with the rotation in a PdfPCell > First I added a Paragraph with some Chuncks into a PdfPCell. In the > method "cellLayout" I created a PdfTemplate. The coordinates for the > PdfTemplate came from the Chunk object in the Paragraph. I saved them in > the "onGericTag" method. > Now I changed the rotation of the PdfPCell and the problem was, that the > value > of the PdfTemplate appeared at the end of the page and not in the cell. I > believe that the coordinates for the PdfTemplate are wrong after the > rotation. > The problem is, that the Chunk is in the Paragraph and I can't change his > coordinates. > Any help welcome! > > Example code: > > public class Test { > > public static void main(String[] args) > { > > try { > Document document = new Document(PageSize.A4, 50, 50, 70, 70); > PdfWriter writer = PdfWriter.getInstance(document, new > FileOutputStream("c:\\test.pdf")); > TestEvent te = new TestEvent(); > writer.setPageEvent(te); > document.open(); > PdfPTable table = new PdfPTable(1); > Chunk chunk = new Chunk(" "); > chunk.setGenericTag("test"); > Phrase phrase = new Phrase(); > phrase.add(chunk); > Paragraph paragraph = new Paragraph(); > paragraph.add(phrase); > PdfPCell cell = new PdfPCell(paragraph); > cell.setCellEvent(te); > cell.setBackgroundColor(new Color(0,255,0)); > cell.setRotation(90); > table.addCell(cell); > document.add(table); > document.close(); > } catch (DocumentException e) { > e.printStackTrace(); > } catch (FileNotFoundException e) { > e.printStackTrace(); > } > } > } > > public class TestEvent extends PdfPageEventHelper implements PdfPCellEvent > { > PdfTemplate tpl; > BaseFont font; > Rectangle tagPosition; > public void onGenericTag(PdfWriter pdfWriter, Document document, > Rectangle > rectangle, String string) { > tagPosition = rectangle; > } > public void onCloseDocument(PdfWriter pdfWriter, Document document) { > try { > font = BaseFont.createFont("Helvetica", BaseFont.WINANSI, > false); > String text = "" + (pdfWriter.getPageNumber() - 1); > float fontSize = 10; > tpl.beginText(); > tpl.setFontAndSize(font, 10); > tpl.setTextMatrix(0, 0); > tpl.showText(text); > tpl.endText(); > } catch (Exception e) { > e.printStackTrace(); > } > } > public void cellLayout(PdfPCell cell, Rectangle position, > PdfContentByte[] > canvases) { > PdfContentByte cb = canvases[PdfPTable.TEXTCANVAS]; > tpl = cb.createTemplate(10, 10); > cb.addTemplate(tpl, tagPosition.left(), tagPosition.bottom()); > } > } > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > iText-questions mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/itext-questions > Buy the iText book: http://itext.ugent.be/itext-in-action/ ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ iText-questions mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/itext-questions Buy the iText book: http://itext.ugent.be/itext-in-action/
