【发布时间】:2018-08-11 09:10:42
【问题描述】:
我正在尝试通过 Aspose 检查 MS Powerpoint 是否包含给定的单词,但它不起作用。
这是我的班级,负责检查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。我已经调试过了,类可以打开ppt文件,但是文本框的值不正确。
【问题讨论】: