Apache PDFBox: Пълна PDF инструментариум за Java
Извличане на текст, манипулиране на документи, попълване на формуляри и още - изцяло на чиста Java
Какво е Apache PDFBox?
Apache PDFBox е мощна библиотека с отворен код за Java, предназначена за лека обработка на PDF файлове, позволяваща на разработчиците програмно да създават, редактират и извличат съдържание от PDF документи. Като една от най-популярните Java PDF библиотеки, PDFBox се справя отлично със задачи като извличане на текст от PDF файлове, сливане на множество PDF файлове и добавяне на цифрови подписи, всичко това с лек API и без лицензионни разходи. Независимо дали се нуждаете от анализ на PDF в Java, генериране на PDF или съответствие с PDF/A, тази библиотека поддържа разширени функции като интеграция с OCR, попълване на формуляри и конвертиране от HTML към PDF. С готови за Maven зависимости (напр. pdfbox-maven) и обширна документация, PDFBox опростява сложните работни потоци - което я прави идеална за корпоративни приложения, автоматизация на документи и извличане на данни. В сравнение с алтернативи като iText, Apache PDFBox се отличава с гъвкавостта си с отворен код, активната общност и съвместимостта си между платформи. Разгледайте нашия урок за PDFBox, за да проучите Java кодови примери и да разгърнете пълния потенциал на манипулирането на PDF в Java.
Ключови предимства на PDFBox включват:
- Пълно решение: Възможности за извличане и създаване
- Чиста Java: Без native зависимости
- Активен развой: Подкрепена от Apache Software Foundation
- Изчерпателни функции: Извличане на текст, разделяне, сливане, подписване
- Поддръжка на формуляри: Четене и попълване на PDF формуляри
Идеална за системи за управление на документи, извличане на съдържание и автоматизация на PDF.
Защо да изберете PDFBox?
- Зрялост: Стабилна от 2002 г. с редовни актуализации
- Гъвкавост: Възможности за четене и писане
- Поддръжка на стандарти: Работи с PDF 1.7 и PDF/A документи
- Общност: Голяма потребителска база и обширна документация
- Интеграция: Работи с всички Java базирани frameworks
Инсталация
PDFBox е достъпна чрез Maven Central за лесна интеграция:
Maven
org.apache.pdfbox
pdfbox
3.0.0
Gradle
implementation 'org.apache.pdfbox:pdfbox:3.0.0'
Системни изисквания: Java 8 или по-нова
Кодови примери
Практически примери за възможностите на PDFBox:
Пример 1: Основно извличане на текст от PDF документ в Java
Този пример показва как да извлечете текст от PDF документ, като същевременно запазите форматирането и структурата. PDFBox предоставя разширени възможности за извличане на текст, които запазват реда на четене и обработват сложни оформления.
Изходът включва:
- Структурирано текстово съдържание
- Извличане страница по страница
- Запазване на основно форматиране
Пример 2: Създаване на PDF документ от нулата в Java
PDFBox се справя отлично както с четенето, така и със създаването на PDF файлове. Този пример демонстрира генериране на нов PDF документ с текст и основно форматиране.
Пример 3: Добавяне на горни и долни колонтитули към PDF страници в Java
PDFBox предоставя изчерпателна поддръжка за добавяне на горни и долни колонтитули към PDF страници от вашето Java приложение. Следният кодови пример показва как да постигнете това с PDFBox API за Java.
Разширени функции
PDFBox поддържа професионална обработка на PDF:
- Извличане на изображения: Достъп до вградени изображения:
Извличане на изображения
PDDocument document = PDDocument.load(new File("document.pdf")); for (PDPage page : document.getPages()) { PDResources resources = page.getResources(); for (COSName name : resources.getXObjectNames()) { PDXObject xobject = resources.getXObject(name); if (xobject instanceof PDImageXObject) { BufferedImage image = ((PDImageXObject) xobject).getImage(); // Обработка на изображението } } }
- Разделяне на документи: Разделяне на PDF файлове на множество файлове:
Разделяне на PDF
Splitter splitter = new Splitter(); List
pages = splitter.split(document); for (int i = 0; i < pages.size(); i++) { pages.get(i).save("page-" + (i+1) + ".pdf"); } - Шифровани PDF файлове: Работа с файлове, защитени с парола:
Шифрован PDF
String password = "secure123"; FileInputStream fis = new FileInputStream("encrypted.pdf"); PDDocument doc = PDDocument.load(fis, password);
PDFBox срещу iText
Ето 5 ключови разлики между PDFBox и iText:
- Лиценз: PDFBox е с Apache лиценз (отворен код), докато iText има търговски лиценз за повечето случаи на употреба
- Фокус на функциите: PDFBox предоставя балансирани възможности за четене/писане, докато iText е специализирана в генерирането на PDF
- Производителност: iText обикновено е по-бърза при създаването на документи, докато PDFBox се справя по-добре с извличането на текст
- Общност: PDFBox има по-широко разпространение като отворен код, докато iText предлага професионална поддръжка
- Случаи на употреба: PDFBox е идеална за анализ и основна манипулация, докато iText е по-добра за генериране на PDF в големи обеми
Заключение
Apache PDFBox предлага изчерпателна обработка на PDF за Java разработчици. Идеална за:
- Извличане на съдържание: Добиване на текст и данни от PDF файлове
- Автоматизация на документи: Генериране на отчети и формуляри
- Управление на документи: Разделяне, сливане и трансформиране на PDF файлове
- Обработка на формуляри: Четене и попълване на интерактивни формуляри
С лиценза си с отворен код и изчерпателния набор от функции, PDFBox е изборът номер едно за обработка на PDF базирана на Java.
Подобни Продукти
- Apache POI XWPF | Java API с отворен код за създаване и модифициране на DOCX файлове
- DocX | .NET API с отворен код за създаване и модифициране на DOCX файлове
- Docx4J | Java API с отворен код за създаване и модифициране на DOC и DOCX файлове
- ExcelDataReader | .NET API с отворен код за четене на XLS, XLSX, CSV и електронни таблици документи
- FileFormat.Cells | Сертирайте и актуализирайте Excel файлове с C# .NET