我有一个小 C# 应用程序,它通过 COM 互操作 API 从 Microsoft Publisher 文件中提取文本。这很好用,但是如果我在一个部分中有多种样式,我会很挣扎。一个单词中的每个字符都可能有不同的字体、格式等
。我真的必须逐个比较字符吗?或者有什么东西可以让我回到不同的风格部分?有点像我可以得到不同的段落?
foreach (Microsoft.Office.Interop.Publisher.Shape shp in pg.Shapes)
{
if (shp.HasTextFrame == MsoTriState.msoTrue)
{
text.Append(shp.TextFrame.TextRange.Text);
for(int i = 0; i< shp.TextFrame.TextRange.WordsCount; i++)
{
TextRange range = shp.TextFrame.TextRange.Words(i+1, 1);
string test = range.Text;
}
}
}
还是一般有更好的方法从 Publisher 文件中提取文本?但我必须能够以相同的格式实际写回它。是为了翻译。