搜索文字并突出显示

时间:2018-10-07 18:43:02

标签: c# aspose.pdf

我的代码在C#中 我正在使用Aspose搜索文本并将其突出显示为pdf。 它正在工作,但是花费的时间非常多。 示例:我的文档有25页,并且有25个搜索文本实例,每页1个搜索文本。 需要2分钟,这是无法接受的。

我有3个问题:

  1. 这是减少此时间的一种方法吗?
  2. 当前这种方法适用于pdf,就我而言,我拥有所有类型的doc(xls,pdf,ppt,doc)?有什么方法可以在所有文档中执行此搜索和突出显示吗?
  3. 除了aspose之外,还有其他更好的方法吗?

// open document
Document document = new Document(@"C:\TestArea\Destination\SUP000011\ATM-1B4L2KQ0ZE0-0001\OpenAML.pdf");

//create TextAbsorber object to find all instances of the input search phrase
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("Martin");

//accept the absorber for all the pages
for (int i = 1; i <= document.Pages.Count; i++)
{
    document.Pages[i].Accept(textFragmentAbsorber);

    //get the extracted text fragments
    TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

    //loop through the fragments
    foreach (TextFragment textFragment in textFragmentCollection)
    {
        //update text and other properties
       // textFragment.TextState.Invisible = false;

        //textFragment.Text = "TEXT";
        textFragment.TextState.Font = FontRepository.FindFont("Verdana");
        textFragment.TextState.FontSize = 9;
        textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Blue);
        textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Yellow);
        //textFragment.TextState.Underline = true;
    }
}

// Save resulting PDF document.
document.Save(@"C:\TestArea\Destination\SUP000011\ATM-1B4L2KQ0ZE0-0001\Highlightdoc.pdf");

0 个答案:

没有答案