Для моего проекта Java мне нужно перечислить все именованные места назначения на странице PDF.
PDF и его имя назначения создаются с помощью LaTeX (с помощью команды hypertarget ), например следующим образом:
\documentclass[12pt]{article}
\usepackage{hyperref}
\begin{document}
\hypertarget{myImportantString}{} % the anchor/named destination to be extracted "myImportantString"
Empty example page
\end{document}
Как извлечь все именованные места назначения конкретной страницы этого документа PDF с помощью библиотеки PDFBox версии 2.0.11?
Я не смог найти какой-либо рабочий код для этой проблемы в Интернете или PDFBox examples . Это мой текущий (минимизированный) код:
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotation;
import java.io.File;
import java.util.List;
public class ExtractNamedDests {
public static void main(String[] args) {
try {
int c = 1;
PDDocument document = PDDocument.load(new File("<path to PDF file>"));
for (PDPage page : document.getPages()) {
System.out.println("Page " + c + ":");
// named destinations seem to be no type of annotations since the list is always empty:
List<PDAnnotation> annotations = page.getAnnotations();
System.out.println(" Count annotations: " + annotations.size());
// How to extract named destinations??
}
}catch(Exception e){
e.printStackTrace();
}
}
}
В этом примере я хочу извлечь строку "myImportantString" со страницы в Java.
РЕДАКТИРОВАТЬ: Вот пример PDF-файл . Я использую PDFBox версии 2.0.11.