Aspose 引用的字体

Aspose referenced fonts

将文本从一个word复制到另一个word是否也复制了未使用的引用字体?如果是,是否有一种方法可以只检测使用过的字体而不用遍历整个段落? 谢谢

是的,Aspose.Words也复制未使用的引用字体。请使用以下代码获取有关文档中使用的所有字体的信息。

Document doc = new Document(MyDir + "Document.doc");

FontInfoCollection fonts = doc.FontInfos;
int fontIndex = 1;

// The fonts info extracted from this document does not necessarily mean that the fonts themselves are
// used in the document. If a font is present but not used then most likely they were referenced at some time
// and then removed from the Document.
foreach (FontInfo info in fonts)
{
    // Print out some important details about the font.
    Console.WriteLine("Font #{0}", fontIndex);
    Console.WriteLine("Name: {0}", info.Name);
    Console.WriteLine("IsTrueType: {0}", info.IsTrueType);
    fontIndex++;
}

希望,这对您有所帮助。

我在 Aspose 工作,担任开发人员传播者。

您必须遍历 运行 节点才能获取有关文档中实际使用的字体的信息。请使用以下代码获取所需信息。

 NodeCollection runs = dstDoc.GetChildNodes(NodeType.Run, true);

 foreach(Run run in runs) {
  Console.WriteLine("Font Name: {0}", run.Font.Name);

 }

希望,这对您有所帮助。

我在 Aspose 工作,担任开发人员布道师。