Java 如何从pdf文件中提取特定部分?

Java 如何从pdf文件中提取特定部分?,java,csv,pdf,xlsx,Java,Csv,Pdf,Xlsx,如何从pdf文件中提取特定信息并将其保存为xlsx文件中的表?例如,我想从一家公司的报告中获取特定信息,如文件的发布日期、收入、利润损失和财务收益,并在同一个xlsx表中定期更新 这是来自这里的另一个问题,但我不知道该补充什么,是否达到了我的预期 import java.awt.geom.Rectangle2D; import java.io.File; import java.io.IOException; import org.apache.pdfbox.pdmodel.PDDocumen

如何从pdf文件中提取特定信息并将其保存为xlsx文件中的表?例如,我想从一家公司的报告中获取特定信息,如文件的发布日期、收入、利润损失和财务收益,并在同一个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);
    }
    }




您打算如何在文档中识别该特定信息?您发布的代码从一个由坐标给出的矩形中提取文本,但这显然只有在您知道相关信息的坐标时才起作用……我是编程新手,这段代码是我能找到的最接近我期望的代码。我打算从文本中获取特定信息并将其放入表格中。您打算如何在文档中识别特定信息?是否在表单字段中?然后使用
document.getDocumentCatalog().getAcroForm()
。它总是在同一个位置吗?然后使用坐标提取。文件前是否始终有未在文件中使用的标签?然后提取所有页面并查找该标签。我想要“参考工具”、“ISIN”、“货币”、“参考代理”、“类型”和“估价价格(当前)”。它们总是在同一位置,但我在哪里可以看到坐标?有一些可视化工具可以显示坐标,例如。