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.

GitHub

Статистика на GitHub

Име:
език:
звезди:
Вилици:
Разрешително:
Хранилището е последно актуализирано на

Защо да изберете 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:

Apache 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.

Подобни Продукти

 Bulgarian