我必须从一个特定的矩形区域内的pdf文件中提取文本。工作流程如下。首先,将pdf转换为jpg图像。然后,用户在图片顶部绘制选择矩形。然后我需要从pdf文档中提取该选择区域内的所有文本。有什么建议可以从C#下载免费的pdf库来使用吗?
发布于 2010-11-29 09:34:38
我同意,OCR不是这里使用的方法。您需要一个PDF库来提取文本和边界框坐标。
QuickPDF是一个商业库(www.quickpdf.com),它可以以249美元的非常合理的价格提取所需的信息。http://www.quickpdflibrary.com/help/quickpdf/DAExtractPageText.php是您要查找的函数。这将提取整个页面的文本,然后您需要使用简单的Point和/或rectangle函数将文本限制为您选择的矩形。
根据我的研究,我不相信iText有这种能力。
发布于 2013-05-07 20:12:36
此代码将使用完美地提取基于直角坐标的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);
发布于 2010-11-29 01:12:47
我建议您一旦将PDF光栅化为JPEG图像,就可以使用文本识别(OCR)来提取所选区域内的文本。这是一个关于.NET的OCR库的article。就从.NET中提取文本而言,here's an article说明了如何或多或少地可靠地实现这一点。问题将是用户如何识别所选矩形内的文本。
https://stackoverflow.com/questions/4297931
复制相似问题