• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 辦公軟件教程 > 詳細頁面

        PowerPoint文件字體提取工具

        PowerPoint文件字體提取工具

        更新時間:2024-02-04 文章作者:未知 信息來源:網絡 閱讀次數:

        Microsoft Office PowerPoint是指微軟公司的演示文稿軟件。Microsoft Office PowerPoint做出來的東西叫演示文稿,其格式后綴名為:ppt、pptx;或者也可以保存為:pdf、圖片格式等。

        很多人工作學習中經常需要做演示報告,如果自己沒有筆記本,那么準備好的PPT文件就得手動轉移了。這個過程中如果不能將文件中使用的特殊字體一起帶走,到演示機器上的效果可能會讓你的精心準備大打折扣。正是因為自己碰到過這個問題,所以希望做個簡單的小工具將 PPT文件中使用到的字體都提取出來,方便攜帶到其他機器上安裝。

          簡單介紹一下這個小工具制作的過程~

          工作原理設想

          很簡單,分三步:

          1. 解析PPT文件,收集其中的所有文字使用到的字體名稱;

          2. 通過這些字體名稱,去系統的字體文件存放目錄將相應的字體文件導出;

          3. 生成一個字體安裝腳本,以便在目標機器安裝這些字體。

          具體實現

          有了這個簡單設計,就用c#去著手實現了,可即使設計這么簡單了,還是碰到一些問題:)

          1. PPT文件解析

          由于.net對office應用已經做了良好封裝,這步做起來沒有什么困難,基本只要查一查需要的查詢接口就可以。只有一點需要注意一下,因為PPT文字格式的任意性,每一個文字都可以設置字體,所以我們需要讓字體提取的粒度保持在單個的字符上,這樣才不會有所遺漏。

          首先在后臺模式打開PPT文件:

        PowerPoint.Application pptApplication = new PowerPoint.ApplicationClass();
        PowerPoint.Presentation presentation = pptApplication.Presentations.Open2007(
            _fileName,
            Office.MsoTriState.msoTrue,
            Office.MsoTriState.msoTrue,
            Office.MsoTriState.msoFalse,
            Office.MsoTriState.msoFalse);

          然后遍歷文字取得字體名,層次順序是 slide > shape > text > character:

        foreach (PowerPoint.Slide slide in presentation.Slides)
        {
            foreach (PowerPoint.Shape shape in slide.Shapes)
            {
                if (shape.HasTextFrame == Office.MsoTriState.msoTrue &&
                    shape.TextFrame.HasText == Office.MsoTriState.msoTrue) 
                {
                    PowerPoint.TextRange textRange = shape.TextFrame.TextRange;
                    for (int i = 0; i <>
                    {
                        PowerPoint.Font font = textRange.Characters(i, 1).Font;
                        if (!_fontNames.Contains(font.Name))
                            _fontNames.Add(font.Name);
                    }
                }
            }
        }

          這樣就可以獲得各種PPT文件中各種形式文本使用的每一個字體名(smartart形式的除外,因為微軟沒有開放相應的模型數據)。

          別忘了關閉文件和PPT程序:

        presentation.Close();
        pptApplication.Quit();


        Office PowerPoint使您可以快速創建極具感染力的動態演示文稿,同時集成更為安全的工作流和方法以輕松共享這些信息。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 182tv免费观看在线视频| 成人性生交大片免费看中文| 日韩中文字幕精品免费一区| 亚洲Av综合色区无码专区桃色| 中文在线观看国语高清免费| 亚洲成色在线综合网站| 拍拍拍无挡视频免费观看1000| 亚洲精品字幕在线观看| 亚洲老妈激情一区二区三区| www.av在线免费观看| 亚洲国产日韩在线观频| 青青草国产免费国产是公开| 久久久久亚洲av成人无码电影| 好吊色永久免费视频大全| 亚洲人成人网站色www| 美美女高清毛片视频黄的一免费 | 国产成人无码区免费A∨视频网站| 亚洲综合在线一区二区三区| 暖暖免费高清日本一区二区三区| 无码天堂va亚洲va在线va| 国产精品亚洲二区在线观看| 亚洲不卡在线观看| 特级淫片国产免费高清视频| 久久亚洲私人国产精品vA| 99久久99这里只有免费费精品| 亚洲视频在线观看| 久草免费福利视频| 亚洲人成毛片线播放| 狠狠久久永久免费观看| 中国一级全黄的免费观看| 亚洲熟妇av一区二区三区下载| 在线免费观看一区二区三区| 又硬又粗又长又爽免费看 | 国产成人免费永久播放视频平台| 亚洲阿v天堂在线2017免费| 亚洲激情视频在线观看| 在线观看人成视频免费| 国产自国产自愉自愉免费24区| 亚洲毛片免费观看| 国产精品亚洲mnbav网站| 青青青国产在线观看免费|