У цій короткій статті ви дізнаєтесь, як видобувати посилання з PDF у Java. Він містить налаштування IDE, список кроків і зразок коду для вилучення гіперпосилань із PDF-файлу в Java. Ви навчитеся отримувати анотації типу посилання та перетворювати їх на URIAction для отримання URI.
Кроки для вилучення URL-адреси з PDF-файлу в Java
- Налаштуйте IDE на використання Aspose.PDF for Java для отримання посилань
- Завантажте вихідний PDF file, перегляньте всі сторінки та створіть селектор анотацій для сторінки
- Витягніть усі анотації зі сторінки та збережіть їх у колекції Вибране
- Перегляньте всі анотації та приведіть кожну анотацію до GoToURIAction
- Викличте метод getURI(), щоб отримати доступ до посилання та відобразити його на консолі
У цьому посібнику показано, як витягти всі посилання з PDF-файлу в Java. Завантажте вихідний файл PDF, перейдіть до цільових сторінок і створіть селектор анотацій для кожної сторінки. Викличте метод accept() за допомогою визначеного селектора, отримайте список анотацій посилань і URI, привівши його до класу GoToURIAction.
Код для вилучення гіперпосилання з PDF у Java
import com.aspose.pdf.*; | |
import java.util.List; | |
public class Main { | |
public static void main(String[] args) throws Exception {//main() method for fetching URI | |
License license = new License();//Initialize the PDF license | |
license.setLicense("license.lic");//Apply the license | |
Document pdfDocument = new Document("PdfWithLinks.pdf");// Load hyperlinks PDF | |
// Iterate all the pages | |
for (int pageNumber = 1; pageNumber <= pdfDocument.getPages().size(); pageNumber++) { | |
System.out.println("Processing Page " + pageNumber);// Display the current page number | |
Page pdfPage = pdfDocument.getPages().get_Item(pageNumber);// Get the current page | |
// Create an annotation selector to find link annotations on the page | |
AnnotationSelector linkSelector = new AnnotationSelector(new LinkAnnotation(pdfPage, Rectangle.getTrivial())); | |
// Extract all annotations from the current page | |
pdfPage.accept(linkSelector); | |
// Retrieve the list of selected link annotations | |
List<Annotation> linkAnnotations = linkSelector.getSelected(); | |
// Iterate through each link annotation | |
for (Annotation annotation : linkAnnotations) { | |
// Check if the annotation is a LinkAnnotation and has actions | |
if (annotation instanceof LinkAnnotation) { | |
LinkAnnotation linkAnnotation = (LinkAnnotation) annotation; | |
// Check if the LinkAnnotation has any associated actions | |
if (linkAnnotation.getAction() instanceof GoToURIAction) { | |
// Cast the action to a GoToURIAction to access the URI | |
GoToURIAction uriAction = (GoToURIAction) linkAnnotation.getAction(); | |
// Display the extracted URI | |
System.out.println("Found URI: " + uriAction.getURI()); | |
} | |
} | |
} | |
} | |
// Indicate that the process is complete | |
System.out.println("URI extraction completed."); | |
} | |
} |
Наведений вище код продемонстрував екстрактор посилань PDF у Java. Ви можете пропустити або вибрати сторінку, проаналізувавши її вміст за допомогою об’єкта класу Page під час повторного перегляду сторінок у PDF-файлі. Метод getAction() використовується для отримання дії URIAction, яка містить URI посилання.
У цій статті ми навчилися процесу отримання гіперпосилань із PDF-файлу. Щоб створити гіперпосилання у PDF-файлі, перегляньте статтю як створити гіперпосилання в PDF за допомогою Java.