我必须从特定矩形区域内的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. 从PDF文档中提取文本 - C#
- 2. 如何提取视频的矩形和非矩形区域?
- 3. 如何从PDF文档中提取文本
- 4. 从PDF中提取文本内容
- 5. 如何从LaTeX文档中提取重要的文本内容
- 6. 从PDF中提取文本
- 7. 如何从word文档中提取使用特定样式格式的文本?
- 8. 从选定区域或坐标中提取PDF文本和图像
- 9. 在UNIX中从文本文件中提取特定文本
- 10. 从腐败(?)中提取文本pdf文档
- 11. 如何从文本区域的每一行中独立提取文本?
- 12. 从PDF文件中提取文本
- 13. 从pdf文件中提取文本
- 14. 从PDF文件中提取文本
- 15. 如何从Python中的PDF文件中提取文本?
- 16. 如何使用VBA从MS-Word文档中提取特定表?
- 17. 如何从大型Word文档中提取特定URL
- 18. 使用docsplit从内存中的文档中提取文本
- 19. 从文本中提取特定单词
- 20. 从数据中提取特定文本
- 21. 从文本中提取特定信息
- 22. Howto从C++向量中优雅地提取2D矩形区域
- 23. 从图像中提取一个矩形像素区域
- 24. iPhone:如何从文档中获取PDF文档的标题?
- 25. 从文本文档中提取句子
- 26. 从圆形边界内提取文本
- 27. 如何从.NET中的矩形源区域复制到非矩形/非并行区域目标区域?
- 28. 从未知内容类型的文档中提取文本
- 29. 如何使用javascript从文本区域提取文本的样式,包括值?
- 30. 无法使用tika从pdf文件中提取文本内容
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