我只使用2种字体的pdf文件。
但是当将pdf导出为xps格式时,在生成的xps文档中有odttf文件和glyphs元素一样多。
现在我希望每个具有相同字体类型的字形都具有相同的FontUri值。但是如何识别2个odttf文件是否是相同的字体类型?
答案 0 :(得分:2)
有时(但并非总是如此)可以通过查看odttf文件的最后部分来找出字体名称。事实上,我经常通过python脚本从odttf文件(由XPS文档编写器生成)中提取字体名称,方法是查看紧跟在这是一个唯一ID 这一短语之前和之后的内容在我到目前为止看到的每个odttf文件的最后100个字节中找到。当然,这是一个可怕的黑客 - 但它起作用(对我来说至少)。
这是否真的有效似乎取决于生成PDF文件的程序和/或用于将PDF文件打印到XPS Document Writer的程序和/或PDF文档包含的特定字体。
我的经验主要限于以这种方式转换pdflatex生成的PDF:作为在线数学导师,我需要将公式,文本和绘图从PDF转换为XAML,以便能够将它们粘贴到共享白板中。基于WPF。所以这个黑客可能会或可能不适合你。 (另外:这个黑客可能随时都会停止工作......)
您可以通过完全删除字体引用来将PDF转换为XAML,而不是试图找出字体名称:您可以使用pdfcrop(Heiko Oberdiek)裁剪PDF,然后再将其发送到XPS Document Writer。根据我的经验,这迫使Adobe Reader和XPS Document Writer的组合(出于我不知道的原因)生成不包含任何字形的XAML代码,因此没有对字体的引用(包含在混淆的odttf中)文件)。但是,遗憾的是,你得到了更多的 更多的XAML代码,因为所有的字形都必须用路径表示(这需要大量的重复)。
此致 基督教