代码之家  ›  专栏  ›  技术社区  ›  Anwar Chandra

获取XPS文档编写器生成的odttf文件的字体名称

  •  1
  • Anwar Chandra  · 技术社区  · 15 年前

    我的pdf文件只使用了两种字体。

    但是,当将pdf导出为xps格式时,生成的xps文档中包含的odttf文件与glyphs元素一样多。

    现在,我希望具有相同字体类型的每个glyph都具有相同的FontUri值。但是如何识别两个odttf文件是否是相同的字体类型?

    1 回复  |  直到 15 年前
        1
  •  2
  •   Christian Stapfer    15 年前

    有时(但并非总是)可以计算出字体名称 通过查看odttf文件的最后一部分 . 事实上,我经常使用python脚本从odttf文件(由XPS文档编写器生成)中提取字体名称,方法是查看短语前面和后面的内容” 这是一个唯一的ID “到目前为止,我所看到的每个odttf文件的最后100个字节中都可以找到它 可怕的 黑客-但它工作(至少对我来说)。

    这是否真的有效似乎取决于生成PDF文件的程序和/或用于将PDF文件打印到XPS Document Writer的程序和/或PDF文件包含的特定字体。

    我的经验主要局限于以这种方式转换pdflatex生成的PDF:作为一名在线数学导师,我需要将公式、文本和图形从PDF转换为XAML,以便能够将它们粘贴到基于WPF的共享白板中。所以这个黑客可能会也可能不会对你有用。(另外:此黑客可能随时停止工作…)

    除了尝试找出字体名称,您还可以通过完全消除字体引用将PDF转换为XAML:您可以在将PDF发送到XPS文档编写器之前使用pdfcrop(由Heiko Oberdiek编写)裁剪PDF。根据我的经验,这迫使Adobe Reader和XPS Document Writer(出于我不知道的原因)结合起来生成XAML代码 包含任何字形,因此不引用字体(包含在模糊的odttf文件中)。但是,不幸的是,你得到了 更多XAML代码,因为所有图示符都必须由路径表示(这涉及大量重复)。

    当做 基督教的