使用 pdfbox 如何在一行中获取某个字符串?

Using pdfbox how do I get a certain string on a line?

例如,一个pdf文件包含这个。

Name: John Smith
Birth Date: December 21, 1990

在 pdfbox 中使用 Java,谁能给我一个简单的代码,将 'John Smith' 放在变量名 'name' 上,将 'December 21, 1990' 放在 'bdate' 上?

如果您已经能够读取字符串中的数据,那么您应该使用正则表达式来分隔数据(一种方式)

您可以在此处找到正则表达式的基础教程:http://tutors4all.net/index.php/2015/05/18/regular-expressions-part-1/

由于您没有分享具体的PDF,所以很难提供具体的代码。不过一般来说:

文本提取

您可以像这样提取文档的文本:

PDFTextStripper stripper = new PDFTextStripper();
PDDocument document = PDDocument.load(resource);
String text = stripper.getText(document);

现在您可以像分析其他 String 一样分析 text

文本提取限制

PDF 是一种主要不是用于自动内容处理的格式,它最初是为了在不同的输出设备上以相同的方式显示给人类。因此,不需要以可理解的格式向程序提供内容,并且许多 PDF 不包含除 OCR 之外的文本提取所需的信息。