
在創(chuàng)建報表或儀表板時,用戶經(jīng)常會遇到與字體相關(guān)的問題:哪些字體可用、字體如何工作以及字體在不同設(shè)備上的顯示方式。在今天的文章中,我們將深入探討這些問題以及其他問題,并找出決定報表設(shè)計器中可用字體列表的因素。答案是:主要因素是操作系統(tǒng)和所使用的產(chǎn)品。
Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于創(chuàng)建報表和儀表板的通用工具集。該產(chǎn)品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他環(huán)境的完整工具集。無需比較產(chǎn)品功能,Stimulsoft Ultimate包含了所有內(nèi)容!
Stimulsoft Ultimate 最新版下載
操作系統(tǒng)
每個操作系統(tǒng)都包含一組基本字體,這些字體可能因操作系統(tǒng)版本和更新而異。此外,用戶可以手動安裝其他字體或通過第三方應(yīng)用程序安裝。所有字體通常分為兩大類:位圖字體和矢量字體(TrueType、OpenType、PostScript)。
由于我們的產(chǎn)品支持各種技術(shù),字體的呈現(xiàn)方式可能有所不同。操作系統(tǒng)版本起著重要作用。例如,在 .NET Framework 上運行的Reports.NET和Reports.WPF在 Windows 8/10/11 中支持 TrueType 和 OpenType 字體,而舊版 Windows 僅支持 TrueType 字體。因此,報表設(shè)計器僅顯示系統(tǒng)上已安裝且產(chǎn)品支持的字體。
這些原則適用于Reports.NET、Reports.WPF和Dashboards.WIN。對于基于 Web 的產(chǎn)品(客戶端-服務(wù)器技術(shù)),字體列表由服務(wù)器端的操作系統(tǒng)決定。但是,如果項目使用 JS 報表引擎,則可用字體列表由開發(fā)人員定義。
在本文中,我們將介紹如何為 JS 報告生成器連接字體的示例。需要注意的是,將報告導(dǎo)出為 PDF 時,我們建議使用字體嵌入模式。默認(rèn)情況下,此模式處于啟用狀態(tài),但您可以關(guān)閉以減小輸出文件的大小。但是,為了確保 PDF 文件在不同設(shè)備和操作系統(tǒng)上都能正確顯示,強(qiáng)烈建議嵌入字體。
將字體嵌入到報告資源中
確保字體在 Windows 和 macOS 等各種操作系統(tǒng)上的報表可用性的一個非常簡單可靠的方法是將字體直接嵌入到報表資源中。創(chuàng)建或編輯報表時,字體文件將添加到報表資源中。之后,即可在報表或儀表板中使用該字體。這是一種可靠的方法,尤其是當(dāng)需要在其他設(shè)備或其他操作系統(tǒng)上打開報表時。
此方法的主要缺點是增加了報表模板的文件大小。由于字體文件物理嵌入到報表文件中,因此大小會顯著增加 - 特別是如果將多個字體文件添加到資源中。
有關(guān)如何使用設(shè)計器將字體文件添加到報表資源的視頻教程可以找到。
所有其他方法都涉及通過項目代碼添加字體。處理字體的主要類是StiFontCollection,它包含各種靜態(tài)方法。
通過代碼將字體文件嵌入到資源中
在項目開發(fā)過程中,可以通過代碼將字體文件嵌入到報表資源中。其缺點與從設(shè)計器嵌入相同,主要是報表文件大小增加。
添加字體文件
可以使用addFontFile()方法 添加字體文件。文件路徑是必需參數(shù),其他所有參數(shù)均為可選參數(shù)。除了文件路徑之外,您還可以指定字體名稱、字體樣式以及字體加載參數(shù)。
缺點:如果您需要添加多個字體文件,此方法不太方便,因為它可能會導(dǎo)致重復(fù)的代碼行。
添加字體文件夾
如果需要加載字體文件集合,可以為每個文件使用addFontFile()方法。然而,更合理的方法是指定整個字體文件夾。為此,StiFontCollection類提供了一個特殊的方法setFontsFolder()。此方法僅接受一個參數(shù)——包含字體文件的文件夾路徑。
缺點:此方法僅適用于 Node.js 項目,因為出于安全策略考慮,瀏覽器無法訪問文件系統(tǒng)。
添加字體配置
如上所述,無法在 Web 報表設(shè)計器中使用setFontsFolder()方法。但是,仍然可以使用addFontFile()方法將字體文件作為服務(wù)器資源加載到報表設(shè)計器中。為了避免在加載多種字體時重復(fù)代碼行,您可以創(chuàng)建一個字體配置并將其傳遞給registerFontConfig()方法。
該配置應(yīng)該是一個對象數(shù)組,其中每個對象定義字體屬性,例如文件路徑(必需)、字體名稱和字體樣式(可選)。
本質(zhì)上,registerFontConfig()方法在底層使用了addFontFile() ,遍歷提供的數(shù)組并加載所有指定的字體。
缺點:您必須事先創(chuàng)建一個配置對象。
沒有一刀切的解決方案,但每種情況都有合適的方法。在構(gòu)建報告和數(shù)據(jù)分析系統(tǒng)時,尤其是針對 Windows 和 macOS 等不同的操作系統(tǒng),正確處理字體仍然是一個重要的考慮因素。根據(jù)具體情況選擇最合適的字體管理方法:在某些情況下,將字體嵌入到報表資源中就足夠了;在其他情況下,使用配置更方便。最終決定權(quán)在你。
---------------------------------------------------------------------------
關(guān)于慧都科技:
慧都科技是一家行業(yè)數(shù)字化解決方案公司,長期專注于軟件、油氣與制造行業(yè)。公司基于深入的業(yè)務(wù)理解與管理洞察,以系統(tǒng)化的業(yè)務(wù)建模驅(qū)動技術(shù)落地,幫助企業(yè)實現(xiàn)智能化運營與長期競爭優(yōu)勢。在軟件工程領(lǐng)域,我們提供開發(fā)控件、研發(fā)管理、代碼開發(fā)、部署運維等軟件開發(fā)全鏈路所需的產(chǎn)品,提供正版授權(quán)采購、技術(shù)選型、個性化維保等服務(wù),幫助客戶實現(xiàn)技術(shù)合規(guī)、降本增效與風(fēng)險可控。慧都科技是Stimulsoft的在中國區(qū)的合作伙伴,Stimulsoft作為圖表報表領(lǐng)域的優(yōu)秀產(chǎn)品,幫助企業(yè)實現(xiàn)輕松構(gòu)建高性能的表格報告及圖表。
下載|體驗更多Stimulsoft產(chǎn)品,請咨詢,或撥打產(chǎn)品熱線:023-68661681
加入圖表報表技術(shù)交流QQ群(740060302),與更多小伙伴一起探討提升開發(fā)技能。
標(biāo)簽:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都網(wǎng)