Как извлечь определенную c часть из PDF-файла? - PullRequest
0 голосов
/ 13 января 2020

Как я могу извлечь указанную c информацию из файла PDF и сохранить ее в виде таблицы в файле xlsx? Например, я хочу взять конкретную c информацию из отчета компании, такую ​​как дата выпуска файла, выручка, упущенная выгода и финансовая выгода, и регулярно обновлять ее в одной и той же таблице xlsx.

Это из другого вопроса, но я не знаю, что добавить, и соответствует ли оно моим ожиданиям.

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);
    }
    }



...