PowerPoint文件字体提取工具
发布时间:2022-08-01 16:11:28
很多人工作学习中经常需要做演示报告,如果自己没有笔记本,那么准备好的PPT文件就得手动转移了。这个过程中如果不能将文件中使用的特殊字体一起带走,到演示机器上的效果可能会让你的精心准备大打折扣。正是因为自己碰到过这个问题,所以希望做个简单的小工具将 PPT文件中使用到的字体都提取出来,方便携带到其他机器上安装。
简单介绍一下这个小工具制作的过程~
工作原理设想
很简单,分三步:
1. 解析PPT文件,收集其中的所有文字使用到的字体名称;
2. 通过这些字体名称,去系统的字体文件存放目录将相应的字体文件导出;
3. 生成一个字体安装脚本,以便在目标机器安装这些字体。
具体实现
有了这个简单设计,就用c#去着手实现了,可即使设计这么简单了,还是碰到一些问题:)
1. PPT文件解析
由于.net对office应用已经做了良好封装,这步做起来没有什么困难,基本只要查一查需要的查询接口就可以。只有一点需要注意一下,因为PPT文字格式的任意性,每一个文字都可以设置字体,所以我们需要让字体提取的粒度保持在单个的字符上,这样才不会有所遗漏。
首先在后台模式打开PPT文件:
PowerPoint.ApplicationpptApplication=newPowerPoint.ApplicationClass();
PowerPoint.Presentationpresentation=pptApplication.Presentations.Open2007(
_fileName,
Office.MsoTriState.msoTrue,
Office.MsoTriState.msoTrue,
Office.MsoTriState.msoFalse,
Office.MsoTriState.msoFalse);
然后遍历文字取得字体名,层次顺序是 slide > shape > text > character:
foreach(PowerPoint.Slideslideinpresentation.Slides)
{
foreach(PowerPoint.Shapeshapeinslide.Shapes)
{
if(shape.HasTextFrame==Office.MsoTriState.msoTrue&&
shape.TextFrame.HasText==Office.MsoTriState.msoTrue)
{
PowerPoint.TextRangetextRange=shape.TextFrame.TextRange;
for(inti=0;i<textRange.Length;++i)
{
PowerPoint.Fontfont=textRange.Characters(i,1).Font;
if(!_fontNames.Contains(font.Name))
_fontNames.Add(font.Name);
}
}
}
}
这样就可以获得各种PPT文件中各种形式文本使用的每一个字体名(smartart形式的除外,因为微软没有开放相应的模型数据)。
别忘了关闭文件和PPT程序:
presentation.Close();
pptApplication.Quit();


猜你喜欢
- Word文档编辑完成后,通常就要进行打印的操作了。可是且慢,那打印操作难道真的就只有点击“打印”按钮那么简单吗?如果您对文档的打印没有任何的
- ppt灯片版式怎么替换套用?ppt中有很多模板,在需要的时候可以直接套用,但是套用的过程中发现有的地方不符合,我们就需要修改,下面我们就来看
- 近几年来,电子宠物大家已经不陌生了,在手机上就能领养专属于自己的“宠物”,通过完成任务还可以让你的宠物长大,这是一个非常有意思的过程,而虾米
- 电脑升级Win11后不流畅卡顿怎么办?最近有不少用户把自己的电脑升级到最新的Win11操作系统之后,却发现自己的电脑卡顿,遇到这种问题我们应
- CPU是我们电脑的核心,没有了CPU就像是车子没有了发动机一样,但是CPU的种类那么多
- MimikkoUI怎么更换壁纸?MimikkoUI是一款拟人化的手机虚拟助手,可以帮助用户更好地管理手机中的文件以及应用启动关闭,那么我们该
- windows10风林火山好不好?风林火山win10系统是使用自己品牌优化方案的一个优化系统,它与可以运行所有计算机程序的硬件软件兼容,智能
- 使用U盘或PE装系统提示“Windows无法复制安装所需的文件”怎么办?很多用户都习惯于使用U盘或PE来安装系统,但是最近一位用户在进行到“
- iOS 14 的更新不但包括一些实用的功能,还有细节的变化和视觉更新。在更新之后,你可能会发现状态栏中亮起来的圆点,会显示为绿色或橙色。实际
- 如何使用ps把照片变成老照片效果?给大家介绍如何使用ps把照片变成老照片效果,一起来看看吧。1.打开ps软件,导入素材图片。2.单击菜单栏中
- 在我们在外出差又或者是有急事需要远程办公时,就会需要使用到远程办公软件了。而且随着科技的发展,现在市面上也有这众多优秀的远程软件,这其中就包
- Win11怎么使用IE浏览器?最近有用户反映这个问题,不知道怎么解决,很多用户都已经安装了Win11系统,但是还有些操作还不熟悉,有些用户习
- 在微软官方的不断努力下,Windows系统自带的杀毒服务“Defender”如今已经达到了国际一流水准,甚至多次被第三方机构评为“最强杀软”
- 关于Excel查找和替换功能,用户在日常生活中都经常的用到,而有些用户在用查找或替换功能中也碰到麻烦,下面让小编为你带来excel2007查
- 汇总数据时,我们要进行大量的复制与粘贴,由于内容来源不一样,最后粘贴的内容五花八门,有碍观瞻。如图:字体、字号、字形、行距、对齐方式各不一样
- Win10打开Word提示“Word无法显示所请求的字体”怎么办?Word是我们最常使用的办公软件,然而一位用户在Win10系统下打开Wor
- 很多人都喜欢将越狱后的iPhone进行美化,其实,更大屏幕的Mac美化更加让人惊艳。如果将Mac的废纸篓图标改成Mac Pro,那也是一件很
- 演讲需要PPT,这对于职场中人来说,就像是吃饭少不了筷子一样,已经成为常识。我们都会用ppt这种视觉化的方式,让沟通更便利,让细节得到更好的
- 系统部落消息,微软在今天为Windows 11版本21H2项目提供预算外更新。KB5020387解决了可能影响某些类型的安全套接字层和传输层
- 有Win11用户某天使用excel的时候突然发现excel的”撤销“按键不见了,只有一个“保存”按键了,大家都知道撤销键是非常重要的,没有可