- 使用Java从PDF提取文本
- 从PDF中的特定页面提取文本
- 从PDF中的页面区域提取文本
目前,Java版Aspose.PDF升级到v20.11版,感兴趣的朋友可点击下方按钮下载最新版。(安装包仅提供部分功能,并设置限制,如需试用完整功能请申请免费授权)
17一齐周年庆!整合所有格式的Aspose.Total永久授权正在火热促销中,乐享85折起!联系客服立马1分钟了解全部咨询!
使用Java从PDF提取文本
以下是使用Aspose.PDF for Java从PDF文档提取文本的步骤。
- 使用Document类加载PDF文件。
- 创建一个TextAbsorber类的对象。
- 接受TextAbsorber使用PDF的所有页面Document.getPages()接受(TextAbsorber)方法。
- 使用TextAbsorber.getText()方法从PDF获取所有文本。
- 将文本保存到TXT文件中(可选)。
以下代码示例显示了如何使用Java从PDF中提取文本。
// Open documentDocument pdfDocument = new Document("input.pdf");// Create TextAbsorber object to extract textTextAbsorber textAbsorber = new TextAbsorber();// Accept the absorber for all the pagespdfDocument.getPages().accept(textAbsorber);// Get the extracted textString extractedText = textAbsorber.getText();// Create a writer and open the filejava.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 streamwriter.close();
使用Java从PDF中的特定页面提取文本
还可以使用以下步骤从PDF文档的特定页面提取文本。
- 使用Document类加载PDF文件。
- 创建TextDevice类的实例。
- 使用TextExtractionOptions类定义其他选项。
- 使用TextDevice.setExtractionOptions(TextExtractionOptions)方法设置选项。
- 使用TextDevice.Process(Page,String)从指定的页面提取文本。
下面的代码示例演示如何使用Java从PDF的特定页面提取文本。
// open documentDocument pdfDocument = new Document("input.pdf");// create text deviceTextDevice 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 formattextDevice.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 documentDocument doc = new Document("page_0001.pdf");// create TextAbsorber object to extract textTextAbsorber absorber = new TextAbsorber();absorber.getTextSearchOptions().setLimitToPageBounds(true);absorber.getTextSearchOptions().setRectangle(new Rectangle(100, 200, 250, 350));// accept the absorber for first pagedoc.getPages().get_Item(1).accept(absorber);// get the extracted textString extractedText = absorber.getText();// create a writer and open the fileBufferedWriter writer = new BufferedWriter(new FileWriter(new java.io.File("ExtractedText.txt")));// write extracted contentswriter.write(extractedText);// Close writerwriter.close();
还想要更多吗可以点击阅读【2020 · Aspose最新资源整合】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(),我们很高兴为您提供查询和咨询。
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!