文檔首頁>>Aspose.PDF使用教程>>Aspose.PDF功能演示:使用Java從PDF文檔中提取文本
Aspose.PDF功能演示:使用Java從PDF文檔中提取文本
由于PDF是使用最廣泛的數(shù)字文檔之一,因此從PDF文檔提取文本的用例數(shù)量更多。在本文中,將學習如何使用Java無縫地從PDF文檔中提取文本。在各種情況下,例如文本分析,信息檢索,文檔解析等,文本提取都可能有用。
- 使用Java從PDF提取文本
- 從PDF中的特定頁面提取文本
- 從PDF中的頁面區(qū)域提取文本
目前,Java版Aspose.PDF升級到v20.11版,感興趣的朋友可點擊下方按鈕下載最新版。
使用Java從PDF提取文本
以下是使用Aspose.PDF for Java從PDF文檔提取文本的步驟。
- 使用Document類加載PDF文件。
- 創(chuàng)建一個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文件。
- 創(chuàng)建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的頁面區(qū)域提取文本
也可以從PDF的頁面特定區(qū)域提取文本。為此,您可以定義一個矩形以覆蓋需要從中提取文本的區(qū)域。以下是從頁面區(qū)域提取文本的步驟。
- 使用Document類加載PDF文件。
- 創(chuàng)建一個TextAbsorber類的對象。
- 將限制設置為頁面綁定,并分別使用TextAbsorber.getTextSearchOptions()。setLimitToPageBounds(true)和TextAbsorber.getTextSearchOptions()。setRectangle(new Rectangle(100,200,250,350))方法創(chuàng)建一個矩形。
- 接受特定頁面的吸收器。
- 使用TextAbsorber.getText()方法提取文本。
以下代碼示例顯示了如何從Java中的特定頁面區(qū)域提取文本。
// 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技術(shù)交流群(761297826),我們很高興為您提供查詢和咨詢。