使用Java中的Aspose PDF从特定页面提取特定文本

使用Java中的Aspose PDF从特定页面提取特定文本,java,aspose,aspose.pdf,Java,Aspose,Aspose.pdf,如何在Java中使用Aspose pdf从pdf文件中提取文本? 我正在从asposeapi中寻找功能(没有代码示例?) 编辑- 请求: 让我们假设一个pdf在随机的位置有这个文本以及一些其他数据 First Name: John Last Name: Doe City: New York Phone: (999)-999-9999 注意:如果这些值是pdf文件的字段,我可以轻松获得它们。它们位于一些随机位置,而不是单独的字段中 其中,每个文档的值John,Doe,New York,(999)

如何在Java中使用Aspose pdf从pdf文件中提取文本? 我正在从asposeapi中寻找功能(没有代码示例?)

编辑-
请求:

让我们假设一个pdf在随机的位置有这个文本以及一些其他数据

First Name: John
Last Name: Doe
City: New York
Phone: (999)-999-9999
注意:如果这些值是pdf文件的字段,我可以轻松获得它们。它们位于一些随机位置,而不是单独的字段中

其中,每个文档的值
John,Doe,New York,(999)-999-9999
都会发生变化

我应该能够搜索
名字、姓氏、城市、电话
,这样它也会返回前面的值


有什么建议吗?

@入侵者,您可以使用正则表达式检索所需的文本字符串。Aspose.PDF for Java API接受正则表达式,请尝试以下代码:

Java

Document pdfDocument = new Document("source.pdf");
// like 1999-2000
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); 
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.setTextSearchOptions(textSearchOptions);
pdfDocument.getPages().accept(textFragmentAbsorber);
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) 
    System.out.println("Text :- " + textFragment.getText());
documentpdfdocument=新文档(“source.pdf”);
//例如1999-2000年
textFragmentAbstrator textFragmentAbstrator=新的textFragmentAbstrator(\\d{4}-\\d{4}”);
TextSearchOptions TextSearchOptions=新的TextSearchOptions(true);
setExtSearchOptions(textSearchOptions);
pdfDocument.getPages().accept(textFragmentsAccept);
TextFragmentCollection TextFragmentCollection=textFragment吸收体.getTextFragments();
for(TextFragment TextFragment:(Iterable)textFragmentCollection)
System.out.println(“Text:-”+textFragment.getText());

我与Aspose合作,担任开发人员福音传道者。

我通过使用
textAbsorb
实现了这一目标。还有其他有效的方法吗?只有当我们知道值的确切长度时,您的建议才有效。但是
名称
城市
不是固定长度的。就像我搜索
名字
,它应该显示
John
。这里,它再次显示了名。@入侵者,您可以增强正则表达式。在上面的代码中,我共享了一个正则表达式作为示例。请将您的源PDF、代码和预期输出发送给我。我将在我的环境中调查您的场景。