Извлечение текста из области с помощью PDFBox

#pdf #pdfbox

#PDF #pdfbox

Вопрос:

можно ли извлечь текст из области с помощью PDFBox, используя только двоичные файлы, вместо того, чтобы создавать свой собственный код?

Комментарии:

1. Нет, он недоступен.

Ответ №1:

Скомпилируйте и упакуйте эту простую программу в jar

 import java.awt.geom.Rectangle2D;
import java.io.File;
import java.io.IOException;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.text.PDFTextStripperByArea;

public class ExtractText {

    // Usage: xxx.jar filepath page x y width height
    public static void main(String[] args) throws IOException {

        if (args.length != 6) {
            System.out.println("Help info");
            return;
        }



        // Parameters
        String filepath = args[0];

        int page = Integer.parseInt(args[1]);
        int x = Integer.parseInt(args[2]);
        int y = Integer.parseInt(args[3]);
        int width = Integer.parseInt(args[4]);
        int height = Integer.parseInt(args[5]);

        PDDocument document = PDDocument.load(new File(filepath));

        PDFTextStripperByArea textStripper = new PDFTextStripperByArea();
        Rectangle2D rect = new java.awt.geom.Rectangle2D.Float(x, y, width, height);
        textStripper.addRegion("region", rect);


        PDPage docPage = document.getPage(page);

        textStripper.extractRegions(docPage);

        String textForRegion = textStripper.getTextForRegion("region");

        System.out.println(textForRegion);
    }
}
  

Запустите его из командной строки, например:

 xxx.jar  filepathToPdf pageToExtract  x   y   width height
  

Добавьте код проверки параметров и некоторую информацию об использовании.

Редактировать

Также добавьте библиотеки PDFBox

 java -cp "..." -jar xxx.jar  filepathToPdf  pageToExtract  x  y  width   height