• <menu id="w2i4a"></menu>
  • logo Aspose.Cells開發(fā)者指南

    文檔首頁>>Aspose.Cells開發(fā)者指南>>Excel管理控件Aspose.Cells開發(fā)者指南(十一):配置電子表格的字體

    Excel管理控件Aspose.Cells開發(fā)者指南(十一):配置電子表格的字體


    Aspose.Cells for .NET是Excel電子表格編程API,可加快電子表格管理和處理任務,支持構(gòu)建具有生成,修改,轉(zhuǎn)換,呈現(xiàn)和打印電子表格功能的跨平臺應用程序。

    在接下來的系列教程中,將為開發(fā)者帶來Aspose.Cells for .NET的一系列使用教程,例如關于加載保存轉(zhuǎn)換、字體、渲染、繪圖、智能標記等等。

    【下載體驗Aspose.Cells for .NET最新版】

    *正版優(yōu)惠進行時,想要購買Aspose正版授權(quán)的朋友可以聯(lián)系慧都客服哦~


    第二章:字體管理

    ▲第一節(jié):配置電子表格的字體

    Aspose.Cells API提供了以圖像格式呈現(xiàn)電子表格并將其轉(zhuǎn)換為PDF和XPS格式的功能。為了最大程度地提高轉(zhuǎn)換保真度,必須在操作系統(tǒng)的默認字體目錄中提供電子表格中使用的字體。如果沒有所需的字體,則Aspose.Cells API將嘗試用可用的字體替換所需的字體。

    字體選擇

    以下是Aspose.Cells API在后臺執(zhí)行的過程。

    1. API會嘗試在文件系統(tǒng)上找到與電子表格中使用的確切字體名稱匹配的字體。
    2. 如果API找不到名稱完全相同的字體,它將嘗試使用在工作簿的DefaultStyle.Font  屬性下指定的默認字體。
    3. 如果API無法找到工作簿的DefaultStyle.Font  屬性下定義的字體,它將嘗試從所有可用字體中選擇最合適的字體。
    4. 如果API在文件系統(tǒng)上找不到任何字體,它將使用Arial呈現(xiàn)電子表格。

    設置自定義字體文件夾

    Aspose.Cells API在操作系統(tǒng)的默認字體目錄中搜索所需的字體。如果所需字體在系統(tǒng)的字體目錄中不可用,則API會搜索自定義(用戶定義)目錄。該FontConfigs類呈現(xiàn)了許多方法詳述如下設置自定義的字體目錄。

    • FontConfigs.SetFontFolder:如果僅要設置一個文件夾,則此方法很有用。
    • FontConfigs.SetFontFolders:當字體位于多個文件夾中并且用戶希望分別設置所有文件夾而不是將所有字體組合在一個文件夾中時,此方法很有用。
    • FontConfigs.SetFontSources:當用戶希望從多個文件夾或單個字體文件中加載字體或從字節(jié)數(shù)組中加載字體數(shù)據(jù)時,此機制很有用。
    //文檔目錄的路徑。
    string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
    
    // 定義字符串變量以存儲字體文件夾和字體文件的路徑
    string fontFolder1 =  dataDir + "Arial";
    string fontFolder2 =  dataDir + "Calibri";
    string fontFile = dataDir + "arial.ttf"; 
    
    // 使用SetFontFolder方法設置第一個字體文件夾
    //第二個參數(shù)指示API在子文件夾中搜索字體文件
    FontConfigs.SetFontFolder(fontFolder1, true);
    
    //使用SetFontFolders方法設置兩個字體文件夾
    //第二個參數(shù)禁止API在子文件夾中搜索字體文件
    FontConfigs.SetFontFolders(new string[] { fontFolder1, fontFolder2 }, false);
    
    //定義FolderFontSource
    FolderFontSource sourceFolder = new FolderFontSource(fontFolder1, false);
    
    //定義FileFontSource
    FileFontSource sourceFile = new FileFontSource(fontFile);
    
    //定義MemoryFontSource
    MemoryFontSource sourceMemory = new MemoryFontSource(System.IO.File.ReadAllBytes(fontFile));
    
    //設置字體來源
    FontConfigs.SetFontSources(new FontSourceBase[] { sourceFolder, sourceFile, sourceMemory });

    字體替換機制

    用戶可以提供字體名稱列表,以替代最初所需的字體。為了實現(xiàn)此目的,Aspose.Cells API公開了FontConfigs.SetFontSubstitutes方法,該方法接受2個參數(shù)。第一個參數(shù)的類型為string,它應該是需要替換的字體的名稱。第二個參數(shù)是string類型的數(shù)組。用戶可以提供字體名稱列表,以替換原始字體名稱(在第一個參數(shù)中指定)。

    // 用Times New Roman&Calibri替換Arial字體
    FontConfigs.SetFontSubstitutes("Arial", new string[] { "Times New Roman", "Calibri" });

    信息收集

    除上述方法外,Aspose.Cells API還提供了收集有關已設置哪些來源和替代信息的方法。

    • FontConfigs.GetFontSources  方法返回一個FontSourceBase類型的數(shù)組,其中  包含指定字體來源的列表。如果未設置任何源,則FontConfigs.GetFontSources  方法將返回一個空數(shù)組。
    • FontConfigs.GetFontSubstitutes  方法接受字符串類型的參數(shù),該參數(shù)允許指定已設置替換的字體名稱。如果沒有為指定的字體名稱設置替代,則FontConfigs.GetFontSubstitutes  方法將返回null。

    ASPOSE技術(shù)交流QQ群(642018183)已開通,各類資源及時分享,歡迎交流討論!

    如果您對Aspose有任何需求和疑難,記得掃描下方二維碼告訴我們哦~

    q4HAjUm_extraLarge.png


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();