通过 Aspose 在 MS Powerpoint 中查找给定的单词

Finding a given word in MS Powerpoint by Aspose

我正在尝试通过 Aspose 检查 MS Powerpoint 是否包含给定的单词,但它不起作用。

这是我的class,负责查看ppt文件:

public class FindContentOfPpt
{
    private static bool IsParagraphContain(IParagraph paragraph, string content)
    {
        return paragraph.Portions.Any(port => port.Text.Contains(content));
    }

    private static bool IsTextBoxContain(ITextFrame textBox, string content)
    {
        return textBox.Paragraphs.Any(para => IsParagraphContain(para, content));
    }

    private static bool IsSlideContain(ISlide slide, string content)
    {
        var allTextBoxes = SlideUtil.GetAllTextBoxes(slide);
        return allTextBoxes.Any(textBox => IsTextBoxContain(textBox, content));
    }

    public bool IsContain(string filePath, string content)
    {
        var pres = new Presentation(filePath);

        return pres.Slides.Any(slide => IsSlideContain(slide, content));
    }
}

我调用它来检查给定的单词:

var isContain = new FindContentOfPpt().IsContain("Find and Replace.pptx", "Presentation");

虽然我的 ppt 文件包含一个文本框,但 isContain 始终为 false:"This is Presentation"。我已经调试好了,class可以打开ppt文件,但是文本框的值不正确

我已经解决了。问题来自 "text has been truncated due to evaluation version limitation."。这意味着我没有使用有效的许可证,并且所有文本框中的所有文本值都被截断了。

解决方案:我申请了试用许可证,并将其添加到我的项目中:

Aspose.Slides.License license = new Aspose.Slides.License();
license.SetLicense("my license file");

@Nhan Phan,

当您未经许可使用API时,它会对所有文本提取施加限制。当您使用许可证时,API 不会限制您使用任何功能。

可能是因为“由于评估版本限制而被截断”。当您没有许可证时,它将限制 Aspose 的大部分功能。您可以申请试用版以进行全面测试。