在本教程中,我们将学习在 Java 程序中使用 PDFBox 2.0 库从 pdf 文档中读取所有文本。
PDF 文档可能包含文本、嵌入图像等作为其内容。PDFBox 中的 PDFTextStripper 类提供了从 PDF 文档中提取所有文本的功能。
从 PDF 中提取所有文本的步骤
以下是有助于从 PDF 文档中提取文本的步骤。
第 1 步:加载 PDF
将 pdf 文件加载到 PDDocument
PDDocument doc = PDDocument.load( new File( "sample.pdf" ));
|
第 2 步:使用 PDFTextStripper.getText 方法
使用 PDFTextStripper 从 doc 获取文本
String text = new PDFTextStripper().getText(doc);
|
PDFTextStripper 忽略 pdf 文档中文本块的格式和位置。PDFTextStripper 只是从 pdf 文档的所有页面中删除所有文本。getText 返回 pdf 文档的文本。
示例 1 – 从 PDF 中读取所有文本
在此示例中,我们将获取 PDF 并使用 PDFTextStripper 读取 PDF 中存在的所有文本。
ExtractText.java
import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
public class ExtractText {
public static void main(String[] args) {
try {
PDDocument doc = PDDocument.load( new File( "sample.pdf" ));
String text = new PDFTextStripper().getText(doc);;
System.out.println( "Text in PDF\n---------------------------------" );
System.out.println(text);
} catch (IOException e) {
e.printStackTrace();
}
}
}
|
输出
Text in PDF
------------------
This is a sample PDF.
|
示例中使用的 pdf 文件是? 样本.pdf
结论
在本PDFBox 教程中,我们学习了使用 PDFBox 2.0 从 pdf 文档中读取所有文本。