Hi all, I am using PdfGraphics2D in place of an old PrinterGraphics2D. In my code I have the following snippet:
width = g2d.getFontMetrics().getStringBounds(txt, flushIndex, flushIndex + flushLen, g2d).getWidth(); to compute the horizontal extension of some string. This seems to be the culprit in my case. It seems as if this sequence used on PdfGraphics2D is not yielding the correct width. Can you affirm this observation? Is there a more elegant way to find out the exact width of some rendered text? As a workaround I extended my own PdfGraphics2D by the method: public double getWidthPoint(java.lang.String s) { return (double)baseFont.getWidthPoint(s,fontSize); } and my code snipped reads, now: // width = g2d.getFontMetrics().getStringBounds(txt, flushIndex, flushIndex + flushLen, g2d).getWidth(); java.lang.String tmp = new java.lang.String(txt,flushIndex, flushLen); PdfGraphics2D pg = (PdfGraphics2D)g2d; width = pg.getWidthPoint(tmp); In my cases this fixes the problem. But I'm not totally calm, because the idea of PdfGraphics2D was to have be able to use it as any other Graphics2D Object.... given this situation, that goal is not attained :( Also my PdfGraphics2D.getWidthPoint(s) is not taking into consideration that the font itself may carry an AffineTransform different from identity, which will of course affect the resulting width. Any better solutions? Thanks and Cheers Erwin _______________________________________________ iText-questions mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/itext-questions