GlyphTextRenderListener extends GlyphRenderListener implements TextExtractionStrategy { public String getResultantText() { return delegate.getResultantText(); } GlyphTextRenderListener(TextExtractionStrategy delegate); String getResultantText();  }
@Test public void test1() throws IOException { final PdfReader pdfReader = TestResourceUtils.getResourceAsPdfReader(this, "test.pdf"); PdfReaderContentParser parser = new PdfReaderContentParser(pdfReader); float x1, y1, x2, y2; x1 = 203; x2 = 224; y1 = 842 - 44; y2 = 842 - 93; String extractedText = parser.processContent(1, new GlyphTextRenderListener(new FilteredTextRenderListener(new LocationTextExtractionStrategy(), new RegionTextRenderFilter(new com.itextpdf.text.Rectangle(x1, y1, x2, y2))))).getResultantText(); Assert.assertEquals("1234\nt5678", extractedText); }
@Test public void test2() throws IOException { final PdfReader pdfReader = TestResourceUtils.getResourceAsPdfReader(this, "Sample.pdf"); PdfReaderContentParser parser = new PdfReaderContentParser(pdfReader); String extractedText = parser.processContent(1, new GlyphTextRenderListener(new FilteredTextRenderListener(new LocationTextExtractionStrategy(), new RegionTextRenderFilter(new com.itextpdf.text.Rectangle(111,855,136,867))))).getResultantText(); Assert.assertEquals("Your ", extractedText); }
@Test public void testWithMultiFilteredRenderListener() throws IOException { final PdfReader pdfReader = TestResourceUtils.getResourceAsPdfReader(this, "test.pdf"); PdfReaderContentParser parser = new PdfReaderContentParser(pdfReader); float x1, y1, x2, y2; MultiFilteredRenderListener listener = new MultiFilteredRenderListener(); x1 = 122; x2 = 144; y1 = 841.9f - 151; y2 = 841.9f - 163; TextExtractionStrategy region1Listener = listener.attachRenderListener(new LocationTextExtractionStrategy(), new RegionTextRenderFilter(new com.itextpdf.text.Rectangle(x1, y1, x2, y2))); x1 = 156; x2 = 169; y1 = 841.9f - 151; y2 = 841.9f - 163; TextExtractionStrategy region2Listener = listener.attachRenderListener(new LocationTextExtractionStrategy(), new RegionTextRenderFilter(new com.itextpdf.text.Rectangle(x1, y1, x2, y2))); parser.processContent(1, new GlyphRenderListener(listener)); Assert.assertEquals("Your", region1Listener.getResultantText()); Assert.assertEquals("dju", region2Listener.getResultantText()); }