使用PDF中的日期提取特定关键字

时间:2018-02-01 10:47:48

标签: c# pdf itext text-parsing

我目前正在尝试弄清楚如何扫描一些PDF文件并提取特定数据。主要是“截止日期:01/01/18”,“考试9/15/18”,“作业06-12-19”等。我是编程新手,想知道是否有人能指出我正确的方向。我看过iTextSharp,这有什么用吗?我想也许这个项目可能超出了我的能力范围,所以任何帮助/指针都会非常感激!

1 个答案:

答案 0 :(得分:1)

查看API docs,特别是RegexBasedLocationExtractionStrategy

此类可以在PDF文档中搜索正则表达式,并返回其矩形和匹配的文本。

要使用此功能,您可以从pdfSweep(用于编辑的iText的附加组件)测试中获取灵感。

// get document
PdfDocument doc = new PdfDocument(new PdfReader(new File("input_document.pdf")));
int pageNr = 1;
PdfPage page = doc.getPage(pageNr);

// create parser
PdfDocumentContentParser parser = new PdfDocumentContentParser(doc);

// process document
RegexBasedLocationExtractionStrategy strategy = new RegexBasedLocationExtractionStrategy("date [0-9]+/[0-9]+/[0-9]+");
parser.processContent(pageNr, strategy);
for (IPdfTextLocation rect : strategy.getResultantLocations()) {
    if (rect != null)
        System.out.println(rect.getText());
}