文档彩票走势图>>Aspose.PDF使用教程>>Aspose.PDF功能演示:使用Java从PDF文档中提取文本
Aspose.PDF功能演示:使用Java从PDF文档中提取文本
由于PDF是使用最广泛的数字文档之一,因此从PDF文档提取文本的用例数量更多。在本文中,将学习如何使用Java无缝地从PDF文档中提取文本。在各种情况下,例如文本分析,信息检索,文档解析等,文本提取都可能有用。
- 使用Java从PDF提取文本
- 从PDF中的特定页面提取文本
- 从PDF中的页面区域提取文本
目前,Java版Aspose.PDF升级到v20.11版,感兴趣的朋友可点击下方按钮下载最新版。
使用Java从PDF提取文本
以下是使用Aspose.PDF for Java从PDF文档提取文本的步骤。
- 使用Document类加载PDF文件。
- 创建一个TextAbsorber类的对象。
- 接受TextAbsorber使用PDF的所有页面Document.getPages()接受(TextAbsorber)方法。
- 使用TextAbsorber.getText()方法从PDF获取所有文本。
- 将文本保存到TXT文件中(可选)。
以下代码示例显示了如何使用Java从PDF中提取文本。
// Open document Document pdfDocument = new Document("input.pdf"); // Create TextAbsorber object to extract text TextAbsorber textAbsorber = new TextAbsorber(); // Accept the absorber for all the pages pdfDocument.getPages().accept(textAbsorber); // Get the extracted text String extractedText = textAbsorber.getText(); // Create a writer and open the file java.io.FileWriter writer = new java.io.FileWriter(new java.io.File("Extracted_text.txt")); writer.write(extractedText); // Write a line of text to the file tw.WriteLine(extractedText); // Close the stream writer.close();
使用Java从PDF中的特定页面提取文本
还可以使用以下步骤从PDF文档的特定页面提取文本。
- 使用Document类加载PDF文件。
- 创建TextDevice类的实例。
- 使用TextExtractionOptions类定义其他选项。
- 使用TextDevice.setExtractionOptions(TextExtractionOptions)方法设置选项。
- 使用TextDevice.Process(Page,String)从指定的页面提取文本。
下面的代码示例演示如何使用Java从PDF的特定页面提取文本。
// open document Document pdfDocument = new Document("input.pdf"); // create text device TextDevice textDevice = new TextDevice(); // set text extraction options - set text extraction mode (Raw or Pure) TextExtractionOptions textExtOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw); textDevice.setExtractionOptions(textExtOptions); // get the text from first page of PDF and save it to file format textDevice.process(pdfDocument.getPages().get_Item(1), "ExtractedText.txt");
从PDF的页面区域提取文本
也可以从PDF的页面特定区域提取文本。为此,您可以定义一个矩形以覆盖需要从中提取文本的区域。以下是从页面区域提取文本的步骤。
- 使用Document类加载PDF文件。
- 创建一个TextAbsorber类的对象。
- 将限制设置为页面绑定,并分别使用TextAbsorber.getTextSearchOptions()。setLimitToPageBounds(true)和TextAbsorber.getTextSearchOptions()。setRectangle(new Rectangle(100,200,250,350))方法创建一个矩形。
- 接受特定页面的吸收器。
- 使用TextAbsorber.getText()方法提取文本。
以下代码示例显示了如何从Java中的特定页面区域提取文本。
// open document Document doc = new Document("page_0001.pdf"); // create TextAbsorber object to extract text TextAbsorber absorber = new TextAbsorber(); absorber.getTextSearchOptions().setLimitToPageBounds(true); absorber.getTextSearchOptions().setRectangle(new Rectangle(100, 200, 250, 350)); // accept the absorber for first page doc.getPages().get_Item(1).accept(absorber); // get the extracted text String extractedText = absorber.getText(); // create a writer and open the file BufferedWriter writer = new BufferedWriter(new FileWriter(new java.io.File("ExtractedText.txt"))); // write extracted contents writer.write(extractedText); // Close writer writer.close();
还想要更多吗?您可以点击阅读【2020 · Aspose最新资源整合】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询。