翻譯|行業資訊|編輯:董玉霞|2022-09-21 16:45:07.790|閱讀 229 次
概述:要創建高質量的報告并將其正確導出為不同的格式(PDF、Word、Excel 等),必須使用圖形引擎。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
要創建高質量的報告并將其正確導出為不同的格式(PDF、Word、Excel 等),必須使用圖形引擎。從 .NET Framework 的最早版本開始,Microsoft 就將 GDI+ 及其包裝器用作 System.Drawing 庫的一部分。FastReport.NET長期以來一直使用相同的庫來創建美觀實用的報表。Mono 團隊為 Unix 系統開發了他們的 GDI+ 版本:libgdiplus,供 System.Drawing.Common 使用。但是,這種方法并不完美。
與 Windows 不同,System.Drawing.Common 非常特別地適用于其他平臺。我們從用戶那里收到的這些常見問題包括不正確的渲染文本大小、缺乏 RTL 語言支持、不正確的字間距、句子中的斷字錯誤、缺乏 ARM 處理器支持以及 libgdiplus 普遍不穩定(“內存不足”,在在多線程配置中工作)。
您可以通過從支持 Pango/Cairo的 Mono 存儲庫手動重建 libgdiplus 來解決其中一些問題 。無論如何,這很不方便,尤其是在您的應用程序使用容器化的情況下。其他問題會影響除 Windows 之外的所有操作系統上的報告導出質量。
結果,微軟正式放棄了對非 Windows 平臺上的 System.Drawing.Common 的支持。這是他們的帖子:“重大變化:System.Drawing.Common 僅在 Windows 上受支持 - .NET | 微軟文檔“。之后,我們的用戶開始積極詢問如何在 Linux 或 macOS 上使用 FastReport 的強大功能。
開發了一個特殊版本的 FastReport.Core,它使用 Skia 作為圖形引擎及其 .NET 的包裝器 - SkiaSharp,稱為 FastReport.Core.Skia。FastReport.Core.Skia 和 FastReport.Web.Skia 包在我們的私有 NuGet 服務器上可用。
如果您在 Linux 下使用 libgdiplus 渲染文本時遇到問題,我們強烈建議您嘗試 FastReport.Core.Skia。要在您的應用程序中使用它,只需更改包名稱 FastReport.Core -> FastReport.Core.Skia,然后在 Linux 上添加以下包(在 Windows 和 macOS 上,會自動添加必要的包):
現在讓我們在 Linux/macOS 上比較 FastReport.Core 與 libgdiplus 和 FastReport.Core.Skia。
首先我們來看看在Linux Ubuntu 20.04上導出為HTML格式后文本長度的錯誤計算。在下面的圖片中,您可以看到帶有 Pango 的 libgdiplus,即使從源代碼重建,也不能正確顯示第一行的結尾,丟棄一些信息,Skia 工作正常。
Linux、libgdiplus + Pango 上不正確的 HTML 導出
在 Linux、SkiaSharp 上正確的 HTML 導出
Linux 上 RtL 文本的 PDF 導出不正確,帶有 Pango 的 libgdiplus 將所有文本寫入 1 列 8 頁
在 Linux、SkiaSharp 上正確導出 RtL 文本的 PDF 我們可以看到類似的情況,它們的正確顯示需要特殊的字體:
Linux 上的文本 PDF 導出不正確,使用 Pango 的 libgdiplus
更正 Linux、Skia 上文本的 PDF 導出。為每個文本自動選擇適當的字體。
在以前不受支持的場景中嘗試 FastReport.Core.Skia:在具有 ARM 處理器的設備上工作,例如 Apple M1。讓我們創建一個 .NET 6 控制臺應用程序(因為只有 .NET 6 原生支持 macOS 的 ARM 架構)并從我們的演示中導出 Simple List.frx 報告。
System.Drawing.Common 從 7.0 版本開始將完全停止支持非 Windows 系統,因此上面給出的 libgdiplus 示例很快將完全不起作用。
此版本的 FastReport.Core 不能與 System.Drawing API 一起使用:在某些 .NET Framework 項目、NET Core 3.1/NET 5+ WindowsForms 項目以及具有 System.Drawing.Common 的項目中,由于此修改的具體情況。
以上就是FastReport Mono V2022.3新版本更新的重要內容,更多相關內容會在后續為大家一一介紹,大家可以點擊FastReport Mono使用教程查看哦! 更多產品授權信息點擊查看FastReport Mono價格,或者咨詢慧都在線客服。
FastReport Mono技術QQ群:536197826 歡迎進群一起討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn