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.