如何使用c#获得文档中使用的所有字体

本文关键字:字体 何使用 文档 | 更新日期: 2023-09-27 18:14:05

我需要制作一个应用程序,它列出了文档中使用的所有字体。

通过使用此代码var val = document.Content.Font.Name;,只有在整个文档中只使用一种字体时,我才能找到字体名称。如果使用了多种字体,则val的值变为空白。

在这里我上传了一个示例文件,在文档中我使用了3种字体(阿尔及利亚,castellar和Calibri)。我需要找到这三个人。我用Openxml检查了一下它显示了字体名称我想我可以得到但我必须只使用Interop

XML from OpenXml

<w:r w:rsidRPr="004E2690">
    <w:rPr>
        <w:rFonts w:ascii="Algerian" w:hAnsi="Algerian" />
    </w:rPr>
    <w:t>Madan mohan Mishra</w:t>
</w:r>

如何使用c#获得文档中使用的所有字体

查找所有使用的字体可能相当复杂,因为在Word文档中有很多位置应用了字体对象(从Word中打开VBA,按F2打开对象浏览器并搜索字体以查看Office对象模型中哪些对象带有字体属性)

这篇文章可能对你有帮助,他们已经完成了整个练习:http://answers.microsoft.com/en-us/msoffice/forum/msoffice_word-mso_other/list-fonts-used-in-a-particular-document/1f673f38-aa1d-4c4c-9e32-a2aec1bfbb96