public ArrayList<String> extractURIs() throws IOException {
        for (PDPage page : documentReader.getPages()) {
            for (PDAnnotation annotation : page.getAnnotations()) {
                if (annotation instanceof PDAnnotationLink) {
                    PDAnnotationLink link = (PDAnnotationLink) annotation;
                    PDAction action = link.getAction();
                    if (action instanceof PDActionURI) {
                        PDActionURI uri = (PDActionURI) action;
                        foundURIs.add(uri.getURI());
                    }
                }
            }
        }
        return getURIs();
    }
@Test
    public void test() throws IOException {
        byte[] data = IOUtils.resourceToByteArray("/org/archive/crawler/modules/extractor/PDFParserTest.pdf");
        PDFParser parser = new PDFParser(data);
        ArrayList<String> uris = parser.extractURIs();
        Assert.assertEquals(Collections.singletonList("https://example.com/link-annotation"), uris);
    }