Aspose PDF - 从具有匹配字符串

时间:2018-03-12 18:34:24

标签: c# text-extraction aspose aspose.pdf

我正在使用现有的库 - 该库的目标是从PDF中提取文本以验证质量检查记录数据的预期值与pdf中的数据。

我正在寻找一种方法来简洁地提取一个特定页面的文本,给定一个字符串,该字符串应该只落在该特定页面上。

var pdfDocument = new Document(file.PdfFilePath);

var textAbsorber = new TextAbsorber{
    ExtractionOptions = {
        FormattingMode = TextExtractionOptions.TextFormattingMode.Pure
    }
};

pdfDocument.Pages.Accept(textAbsorber);
foreach (var page in pdfDocument.Pages)
{

}

我被困在foreach(var page in pdfDocument.Pages)部分......或者是正确的区域?

1 个答案:

答案 0 :(得分:0)

答案:Text Absorber重新创建了每个页面 - 在foreach循环中。

如果没有重新创建吸收器,它会保留前一个循环的文本。

public List<string> ProcessPage(MyInfoClass file, string find)
{
    var pdfDocument = new Document(file.PdfFilePath);

    foreach (Page page in pdfDocument.Pages)
    {
        var textAbsorber = new TextAbsorber {
            ExtractionOptions = {
                FormattingMode = TextExtractionOptions.TextFormattingMode.Pure
            }
        };

        page.Accept(textAbsorber);
        var ext = textAbsorber.Text;
        var exts = ext.Replace("\n", "").Split('\r').ToList();
        if (ext.Contains(find))
            return exts;
    }

    return null;
}