跨平臺美學!使用DevExpress Reports & Office File API時如何管理字體?

DevExpress Office File API是一個專爲C#, VB.NET 和 ASP.NET等開發人員提供的非可視化.NET庫。有了這個庫,不用安裝Microsoft Office,就可以完全自動處理Excel、Word等文檔。開發人員使用一個非常易於操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CSV 和 Snap Report等企業級文件。

DevExpress Reporting是.NET Framework下功能完善的報表平臺,它附帶了易於使用的Visual Studio報表設計器和豐富的報表控件集,包括數據透視表、圖表,因此您可以構建無與倫比、信息清晰的報表。

DevExpress v23.2正式版下載

在不同的平臺上處理文檔可能具有挑戰性,特別是在處理並非在所有機器/操作系統中普遍可用的字體時。不用說,當用戶通過電子郵件或應用程序本身創建和交換文檔時,缺少字體可能會導致不一致(影響報表、Word文檔和PDF文件)。

爲了獲得最佳的用戶體驗,在Blazor WebAssembly和.NET MAUI應用程序中解決與字體相關的問題是至關重要的。潛在的挑戰是衆所周知的:Blazor WebAssembly不提供對系統字體的直接訪問,.NET MAUI在iOS平臺上的系統字體方面存在挑戰。當然,問題也延伸到部署在Azure或AWS等雲平臺上的web應用程序,在這些平臺上只有一小部分字體可用。

DevExpress.Drawing圖形庫的DXFontRepository類提供了一個全面的解決方案來解決這些問題——這個解決方案几乎與PrivateFontCollection類相同。正如我們很快將演示的那樣,DXFontRepository有助於確保跨文檔類型的一致視覺外觀。有了它,即使底層系統中缺少或不可用字體(根據需要動態下載字體),也可以保持視覺元素的一致性。我們實現的優點是DXFontRepository可以在任何目標操作系統和針對.NET 6及以上版本的應用程序中使用。

使用DXFontRepository與DevExpress Reports & Office File API驅動的應用程序

我們創建了兩個示例來幫助說明DXFontRepository的好處,這兩個應用程序都是dockerized的,因此您可以輕鬆地構建和運行映像。

DevExpress Office File API

下面的鏈接將所需的字體加載到文字處理應用程序中:Word Processing Document API – Detect and Download Fonts

這個Blazor WebAssembly應用程序使用Iterator-Visitor模式從上傳的Word文檔中檢索/顯示字體列表,檢索後,您可以單獨或同時下載它們。

在我們的示例中,字體是從Google Fonts加載的,但是您可以根據業務需求修改字體源。將字體加載並添加到字體存儲庫集合後,可以將示例文檔導出爲PDF來查看結果。

跨平臺美學!使用DevExpress Reports & Office File API時如何管理字體?

注意:Google Fonts是開源的,但請務必閱讀相關的許可協議,以確定您的特定用例的使用權。

DevExpress Reports

爲了幫助說明DXFontRepository的好處,我們創建了一個ASP. NET Core應用程序使來使用DevExpress Document Viewer(文檔查看器)。這個應用程序加載一個帶有自定義字體的示例報表,該服務使用DXFontRepository從Google資源中查找和加載這些字體。當您打開報告時,將看到指定的字體被自動應用。

跨平臺美學!使用DevExpress Reports & Office File API時如何管理字體?

如果您準備使用DXFontRepository,請參考以下GitHub鏈接瞭解實現細節:Reporting for ASP.NET Core — Detect and Load Custom Fonts with Ease (DXFontRepository)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章