简单介绍一下这个小工具制作的过程~
工作原理设想
很简单,分三步:
1. 解析PPT文件,收集其中的所有文字使用到的字体名称;
2. 通过这些字体名称,去系统的字体文件存放目录将相应的字体文件导出;
3. 生成一个字体安装脚本,以便在目标机器安装这些字体。
具体实现
有了这个简单设计,就用c#去着手实现了,可即使设计这么简单了,还是碰到一些问题:)
1. PPT文件解析
由于.net对office应用已经做了良好封装,这步做起来没有什么困难,基本只要查一查需要的查询接口就可以。只有一点需要注意一下,因为PPT文字格式的任意性,每一个文字都可以设置字体,所以我们需要让字体提取的粒度保持在单个的字符上,这样才不会有所遗漏。
首先在后台模式打开PPT文件:
然后遍历文字取得字体名,层次顺序是 slide –> shape –> text –> character:
这样就可以获得各种PPT文件中各种形式文本使用的每一个字体名(smartart形式的除外,因为微软没有开放相应的模型数据)。
别忘了关闭文件和PPT程序: