我必須從特定矩形區域內的pdf文檔中提取文本。工作流程如下。首先將pdf轉換爲jpg圖像。然後用戶在圖片頂部繪製選擇矩形。然後我需要從該選擇區域內的pdf文檔中提取所有文本。任何建議什麼免費的pdf庫可以從C#訪問使用?如何在特定的矩形區域內從pdf文檔中提取文本?
回答
我同意,OCR不是在這裏使用的方法。您需要一個可以提取文本以及邊界框座標的PDF庫。
QuickPDF是一個商業圖書館(www.quickpdf.com),可以提取所需的信息,價格合理,價格爲249美元。 http://www.quickpdflibrary.com/help/quickpdf/DAExtractPageText.php是您正在尋找的功能。這將提取整個頁面的文本,然後您將需要使用簡單的Point和/或Rectangle函數將文本限制到您選擇的矩形。
我不認爲iText根據我的研究有這種能力。
一旦將PDF光柵化爲JPEG圖像以使用文本識別(OCR)提取選定區域內的文本,我會建議您。這裏有一個關於.NET的OCR庫的article。就從PDF中提取文本而言,here's an article說明了如何實現或多或少的可靠性。問題將是如何識別用戶在選定矩形內的文本。
此錯誤不是一種選擇。我需要100%的準確性。 ocr不是100%準確的。除了一個pdf文檔可能包含多種語言的文本。據我所知,沒有免費的ocr庫支持一次發送多種語言。 – davidgale 2010-11-28 17:21:08
@davidgale,我非常懷疑存在這種問題的免費解決方案。您可以查看第二個選項,然後從PDF中提取文本並查看它是否可以在您的案例中可靠工作。你仍然需要弄清楚選擇區域,恕我直言,這不是一件容易的事情,我不知道任何免費軟件庫能夠做到這一點。 – 2010-11-28 17:21:48
(免責聲明 - 我的Atalasoft工作,其PDF產品) Atalasoft's PdfReader會做到這一點。這不是免費的,但它工作得很好。代碼如下所示:
using (PdfTextDocument doc = new PdfTextDocument(pathToFile)) {
PdfTextPage page = doc.GetPage(pageNumber);
string text = page.GetTextInBox(yourSelection);
}
該代碼使用iTextSharp的完美將提取直角座標的基礎上PDF數據
List<string> linestringlist = new List<string>();
PdfReader reader = new PdfReader(pdfFilename);
iTextSharp.text.Rectangle rect = new iTextSharp.text.Rectangle(coordinate1, coordinate2, coordinate3, coordinate4);
RenderFilter[] renderFilter = new RenderFilter[1];
renderFilter[0] = new RegionTextRenderFilter(rect);
ITextExtractionStrategy textExtractionStrategy = new FilteredTextRenderListener(new LocationTextExtractionStrategy(), renderFilter);
string text = PdfTextExtractor.GetTextFromPage(reader, 1, textExtractionStrategy);
- 1. 如何從目標C中的特定矩形區域內的pdf文檔中提取文本?
- 2. 從PDF文檔中提取文本 - C#
- 3. 從pdf中提取區域
- 4. 如何在matplotlib圖形中的特定區域繪製矩形
- 5. 如何提取視頻的矩形和非矩形區域?
- 6. 如何從PDF文檔中提取文本?
- 7. 如何從PDF文檔中提取文本
- 8. Java:如何使用iText從PDF文件中選擇區域提取文本?
- 9. 從PDF中提取文本內容
- 10. 如何從LaTeX文檔中提取重要的文本內容
- 11. 是否有任何庫可以幫助從一個矩形區域提取PDF文本,可用於PHP
- 12. 提取從互聯網下載的XML文檔的特定區域
- 13. 如何從word文檔中提取使用特定樣式格式的文本?
- 14. 從選定區域或座標中提取PDF文本和圖像
- 15. 如何從pdf文件中提取文本和文本座標?
- 16. 在UNIX中從文本文件中提取特定文本
- 17. 從腐敗(?)中提取文本pdf文檔
- 18. 如何從文檔圖像中檢測文本區域?
- 19. 從pdf文件中提取文本
- 20. 從pdf文件中提取文本
- 21. 從PDF文件中提取文本
- 22. 從PDF文件中提取文本
- 23. 如何在矩形內寫文本
- 24. 如何從Python中的PDF文件中提取文本?
- 25. 如何從大型Word文檔中提取特定URL
- 26. 如何使用VBA從MS-Word文檔中提取特定表?
- 27. 使用docsplit從內存中的文檔中提取文本
- 28. 如何從c中的文本文件中提取特定文本#
- 29. 如何在JavaScript中從url中提取特定文本
- 30. 如何使用awk從文本文件中提取特定行?
https://stackoverflow.com/q/20606467/1271037 – dovid 2017-08-13 10:31:22
可能重複[使用iTextSharp獲取指定區域中包含的文本](https://stackoverflow.com/questions/20606467/get-text-occurrences-contained-in-a-specified-area-with-itextsharp) – bfontaine 2017-08-21 10:11:12