在iText 2.1.7中获取Chunk的绝对边界框?

时间:2012-07-30 08:41:04

标签: pdf-generation itext

在这个例子中:

Document document=new Document();
PdfWriter.getInstance(document,new FileOutputStream("hello.pdf"));
document.open();  
Paragraph paragraph = new Paragraph();
paragraph.add(new Chunk("Hello ");
paragraph.add(new Chunk("world");
paragraph.add(new Chunk(" in");
paragraph.add(new Chunk(" iText 2.7.1");
document.add(paragraph);
document.close(); 

如何获得第二块"世界"页面上的绝对位置,宽度和高度? ?换句话说,用户空间中的边界框。

1 个答案:

答案 0 :(得分:2)

您可以使用Chunks上提供的通用标记工具。

    public class PEvents extends PdfPageEventHelper {
      @Override
      public void onGenericTag(PdfWriter w, Document doc, Rectangle r, String tag) {
         if (tag.equals("mytag")) {             
           //here r is the rectangle of "world" chunk
         }
      }
    }
    writer.setPageEvent(new PEvents());
    Chunk world = new Chunk("world");
    world.setGenericTag("mytag");
    paragraph.add(world);
    . . .