'How to get coordinates of string in PDF with iText5

How to get coordinate of string in my PDF page? In page are text paragraph. And I want to get coordinate line by line of text paragraph. And I want to get coordinate of the first char in text paragraph. I'm using iText5.

public void extractText(String src, String dest) throws IOException
{
    String hsl="";
    PrintWriter out = new PrintWriter(new FileOutputStream(dest));
    PdfReader reader = new PdfReader(src);
    
    RenderListener listener = new MyTextRenderListener();
    
//      RenderListener listener = new MyTextRenderListener(out);
    
    PdfContentStreamProcessor processor = new PdfContentStreamProcessor(listener);
    PdfDictionary pageDic = reader.getPageN(1);
    PdfDictionary resourcesDic = pageDic.getAsDict(PdfName.RESOURCES);
    processor.processContent(ContentByteUtils.getContentBytesForPage(reader, 1), resourcesDic);
    
    
    
    out.flush();
    out.close();
    
}

static class MyTextRenderListener implements RenderListener {

    @Override
    public void renderText(TextRenderInfo renderInfo) {
//        String text = renderInfo.getText(); // line with text
        
      LineSegment ascentLine = renderInfo.getAscentLine();
      LineSegment descentLine = renderInfo.getDescentLine();
      float llx = descentLine.getStartPoint().get(Vector.I1);
      float lly = descentLine.getStartPoint().get(Vector.I2);
      float urx = ascentLine.getEndPoint().get(Vector.I1);
      float ury = ascentLine.getEndPoint().get(Vector.I2);
      Rectangle rect = new Rectangle(llx, lly, urx, ury);
      
    }

    @Override
    public void beginTextBlock() { }

    @Override
    public void endTextBlock() { }

    @Override
    public void renderImage(ImageRenderInfo renderInfo) { }
    
}

%>

<%

extractText("http://localhost/coba/pdf/janji0.pdf", "XYString.pdf");

enter image description here



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source