当前位置: 首页 > news >正文

跨平台美学!使用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新旧版本帮助文档下载欢迎进QQ qun获取:169725316

在不同的平台上处理文档可能具有挑战性,特别是在处理并非在所有机器/操作系统中普遍可用的字体时。不用说,当用户通过电子邮件或应用程序本身创建和交换文档时,缺少字体可能会导致不一致(影响报表、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来查看结果。

注意:Google Fonts是开源的,但请务必阅读相关的许可协议,以确定您的特定用例的使用权。


DevExpress Reports

为了帮助说明DXFontRepository的好处,我们创建了一个ASP. NET Core应用程序使来使用DevExpress Document Viewer(文档查看器)。这个应用程序加载一个带有自定义字体的示例报表,该服务使用DXFontRepository从Google资源中查找和加载这些字体。当您打开报告时,将看到指定的字体被自动应用。

如果您准备使用DXFontRepository,请参考以下GitHub链接了解实现细节:Reporting for ASP.NET Core — Detect and Load Custom Fonts with Ease (DXFontRepository)

http://www.jsqmd.com/news/1212531/

相关文章:

  • 第【80】期-- 基于索引调制的AFDM与OFDM在时间频率双弥散信道中的误码率对比 --MATLAB完整代码
  • 如何将amphp/http-client集成到Laravel和Symfony:现代PHP框架的终极异步HTTP解决方案
  • Havenlon|AI 时代的执行安全语言体系(十):灾难半径 Part 1
  • MibSPI传输组TGxCTRL寄存器详解:硬件状态机实现高效SPI数据流控
  • YKLineChartView测试与调试:iOS股票图表开发的最佳实践指南
  • Mac软件合法使用指南与安全替代方案
  • 模拟电子技术基础-本征半导体与杂质半导体
  • Verk深度解析:理解基于Redis的可靠作业处理架构
  • st终端自定义主题制作:从零开始创建个性化配色方案
  • 卡地亚成都官方售后服务体系全解析|官方服务电话及地址权威公示(2026年7月最新) - 卡地亚中国服务中心
  • CardKit自定义字体集成:如何在图像编辑器中添加和使用自定义字体
  • ezytdl高级转换功能:视频剪辑、音频提取与格式转换详解
  • 基于Java+MySQL+SSM阅微文学网站设计与实现
  • GPT-5.6 代码分析教程:可自动识别的问题与需要人工判断的场景
  • Siamese-pytorch进阶应用:人脸识别、商品搜索等实际场景实现
  • FastGPT | 33 - Docker 构建与生产部署流程
  • Windows 11系统优化终极指南:用Win11Debloat一键打造纯净高效电脑
  • kvcached内存管理CLI指南:kvctl和kvtop命令详解
  • 2026年7月亲身探访徐州亨得利官方名表服务中心|地址与官方电话 - 亨得利官方
  • LLM Space高级功能:多工具调用并行执行与错误复现全指南
  • LinuxCommandLibrary:终极Linux命令查询工具,让终端操作效率提升300%
  • Eflatun.SceneReference深度剖析:GUID与路径映射的实现原理
  • TI AWR芯片MPU内存保护实战:从寄存器解析到嵌入式系统安全配置
  • browser-agent与chromiumoxide集成详解:无头浏览器的强大组合
  • 「Qt Widget中文示例指南」如何实现一个快捷编辑器(一)
  • 远程控制软件技术解析与TeamViewer合规应用指南
  • 高校学生综合测评管理系统
  • 2026 广东发西藏物流专线哪家靠谱?佛山家具家电直达 7 天无中转 - GrowUME
  • 长沙黄金回收金价怎么算?损耗手续费拆解 - 一日一测评
  • InstColorization数据集准备:COCOStuff与自定义数据集的完整教程