Apache PDFBox Maven: упростите работу с PDF-файлами с помощью примеров кода

Apache PDFBox — это библиотека Java с открытым исходным кодом, которая позволяет разработчикам работать с файлами PDF. В сочетании с Maven, популярным инструментом автоматизации сборки, PDFBox становится еще более мощным и простым в управлении в ваших Java-проектах. В этой статье блога мы рассмотрим различные методы, поддерживаемые Apache PDFBox, а также примеры кода, упрощающие работу с PDF-файлами.

Метод 1: извлечение текста из PDF-файла
Одна из распространенных задач — извлечение текста из PDF-документа. Вот пример того, как этого добиться с помощью Apache PDFBox:

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
public class PDFTextExtractor {
    public static void main(String[] args) {
        try (PDDocument document = PDDocument.load(new File("input.pdf"))) {
            PDFTextStripper textStripper = new PDFTextStripper();
            String text = textStripper.getText(document);
            System.out.println(text);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Метод 2: добавление текста в PDF
Вы также можете добавить текст в существующий PDF-файл с помощью Apache PDFBox. Вот пример:

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
public class PDFTextAdder {
    public static void main(String[] args) {
        try (PDDocument document = PDDocument.load(new File("input.pdf"))) {
            PDPage page = document.getPage(0);
            PDPageContentStream contentStream = new PDPageContentStream(document, page);
            contentStream.beginText();
            contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12);
            contentStream.newLineAtOffset(100, 700);
            contentStream.showText("Hello, World!");
            contentStream.endText();
            contentStream.close();
            document.save("output.pdf");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Метод 3: объединение нескольких PDF-файлов
PDFBox позволяет объединить несколько PDF-документов в один PDF-файл. Вот пример:

import org.apache.pdfbox.multipdf.PDFMergerUtility;
public class PDFMerger {
    public static void main(String[] args) {
        PDFMergerUtility mergerUtility = new PDFMergerUtility();
        mergerUtility.addSource("input1.pdf");
        mergerUtility.addSource("input2.pdf");
        mergerUtility.setDestinationFileName("output.pdf");
        try {
            mergerUtility.mergeDocuments();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

В этой статье мы рассмотрели некоторые методы, предоставляемые Apache PDFBox для манипулирования PDF-файлами с помощью Maven. Мы рассмотрели извлечение текста из PDF-файла, добавление текста в PDF-файл и объединение нескольких PDF-файлов. Используя эти методы и интегрируя Apache PDFBox с Maven, вы можете упростить задачи по манипулированию PDF-файлами в проектах Java.