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

报表控件stimulsoft教程:在报表、仪表板和 PDF 表单自动生成缩略图

了解缩略图的工作原理在使用Stimulsoft Demo、Stimulsoft Server和Stimulsoft Cloud时非常有用。例如,您可以在此处查看缩略图的实际效果 - 当侧边栏折叠时,将显示缩略图而不是资源列表。在本文中,我们将探讨 Stimulsoft 产品中报表、仪表板和 PDF 表单的缩略图(也称为预览)的作用。例如,缩略图显示在报表查看器中,允许用户快速直观地识别资源内容。

Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能,Stimulsoft Ultimate包含了所有内容!

Stimulsoft Ultimate 最新版下载 

Stimulsoft 产品支持自动生成缩略图,也可以使用专用的StiThumbnailHelper类手动控制生成过程。此外,您还可以使用自定义图像代替自动生成的缩略图。
 

自动生成缩略图

将报告添加到以下位置时会自动生成缩略图:
 

  • Stimulsoft Server和Stimulsoft Cloud – 首次添加到工作区。

  • Stimulsoft Demo – 首次添加到资源列表。


用户无需执行任何其他操作。在这种情况下,会生成并保存一个缩略图,并一直使用到缩略图被删除(或报表本身被删除)。主要限制在于,缩略图在报表修改时不会更新。要更新缩略图,必须手动删除并重新生成旧的缩略图文件。
 

使用 StiThumbnailHelper 管理缩略图

将 Stimulsoft 集成到自定义项目或应用程序中时,您可以使用StiThumbnailHelper类来控制缩略图生成过程。
 

  • GetThumbnailPath(string path)生成给定报告的.thumb缩略图文件的路径,同时考虑到操作系统的显示缩放比例。

  • SaveThumbnail(StiReport report, string path)将图像字节数组(即第一个渲染报表页面的缩略图)返回到.thumb文件。此方法仅适用于已渲染的报表,或者您可以调用report.Render()

  • GetThumbnail(string path)从.thumb文件中返回指定报表缩略图的字节数组。如果该文件不存在,则返回 null。

  • GetThumbnailFromTemplateAsync(string path)从.mrt模板文件中异步检索报告缩略图。

  • GetThumbnailFromTemplate(string path, bool skipImage = false)同步创建一个StiThumbnailReport对象,该对象包含路径、报表名称、仪表板标志(“IsDbs”)和图像。如果之前保存过缩略图,则加载该缩略图。如果没有保存,则加载报表、生成图像并保存.thumb文件。此方法还会检测数据源是仪表板还是常规报表。


这样,可以根据需要随时生成报告的缩略图。
 

使用报告图像属性

每个报表、仪表板或 PDF 表单模板都可以在“报表图像”属性中包含自己的图像。该图像将用作缩略图,而不是自动生成的预览图。这适用于 Stimulsoft Demo、Stimulsoft Server 和 Stimulsoft Cloud 等产品。例如,您可以设置一个静态图像,无论实际报表内容如何,该图像都会显示在界面中。注意:

图像存储在报告文件中。如果添加或引用较大的图像文件,则会增加报告文件的整体大小。前面我们提到,自动生成的缩略图只能通过删除现有的预览文件来更新。但是,当将 Stimulsoft 集成到您自己的应用程序中时,您可以动态生成新的缩略图并将其直接分配给ReportImage属性。

...
//Load report
var report = new StiReport;
var templatePath = "Reports\\MyReport.mrt";
report.Load(templatePath);// Generate a new thumbnail from the report template
var thumbnail = await Stimulsoft.Wizard.Wpf.Info.Helper.StiThumbnailHelper.GetThumbnailFromTemplateAsync(templatePath);// Convert byte array to System.Drawing.Image
using (var ms = new MemoryStream(thumbnail.Image))
{
// Assign generated thumbnail to the ReportImage property
report.ReportImage = System.Drawing.Image.FromStream(ms);
}// Call report in designer where ReportImage will be used as the report thumbnail
report.Design();
...

实际上,这意味着可以在运行时为报表生成新的缩略图,并将其保存到“报表图像”属性中。这样,您就可以在不删除现有报表或其预览文件的情况下更新缩略图。

重点——动画

生成缩略图时需要考虑一个重要方面——动画,尤其是在仪表板中。对于报表,缩略图是从第一个渲染页面生成的,该页面用作预览图像。然而,仪表板没有明确的渲染状态,它们是实时运行的。这意味着,如果在缩略图生成时,仪表板元素的动画尚未完全完成,预览可能无法准确反映实际内容。例如,图表可能仅显示部分渲染。为了确保缩略图完全符合预期外观,必须考虑动画的持续时间。

Stimulsoft中的缩略图提供了一种简单有效的方法来直观地呈现报表、仪表板和表单。它们可以自动或手动生成,甚至可以用自定义图像替换。借助 StiThumbnailHelper,开发人员可以使用灵活的工具来管理任何集成场景中的缩略图。正确使用此功能可以改进导航,增强用户界面,并丰富在应用程序中与报表交互的整体体验。

http://www.xdnf.cn/news/14723.html

相关文章:

  • 华为云鸿蒙应用入门级开发者认证 实验(HCCDA-HarmonyOS Cloud Apps)
  • 【缓存技术】深入分析如果使用好缓存及注意事项
  • C++(模板与容器)
  • python中学物理实验模拟:斜面受力分析
  • 苍穹外卖day3--公共字段填充+新增菜品
  • python基于协同过滤的动漫推荐系统
  • 【51单片机5毫秒定时器】2022-6-1
  • Linux 内核 TCP 的核心引擎:tcp_input.c 与 tcp_output.c 的协同之道
  • Miniconda+Jupyter+PyCharm初始环境配置
  • 物联网与低代码:Node-RED如何赋能工业智能化与纵横智控的创新实践
  • 【已解决】Android Studio gradle遇到unresolved reference错误
  • 【机器学习深度学习】线性回归
  • 【thinkphp5】Session和Cache记录微信accesstoken
  • 【原创】【4】【辅助工具】基于视觉模型+FFmpeg+MoviePy实现短视频自动化二次编辑+多赛道
  • Gartner《敏捷化组织团队拓扑方法论》学习心得
  • [特殊字符]推客带货小程序解决方案——0门槛裂变营销,佣金赚不停!
  • 华为交换机 USG6311E 新建 vlan
  • 海澜之家旗下斯搏兹选择百胜软件,E3+企业中台持续为运动品牌业务发展赋能
  • Node.js特训专栏-实战进阶:9.MySQL连接池配置与优化
  • Java全栈面试实录:从电商平台到AIGC,技术栈深度解析
  • 领域驱动设计(DDD)【13】之重构中的坏味道:深入理解依恋特性(Feature Envy)与表意接口模式
  • 八股文——JAVA基础:基本数据类型与包装类的区别
  • 基于 Python 的批量文件重命名软件设计与实现
  • FPGA基础 -- Verilog 建模示例之通用移位寄存器
  • Linux远程机器无法连接-------解决方案
  • Python 数据分析与可视化 Day 7 - 可视化整合报告实战
  • 基于 opencv+yolov8+easyocr的车牌追踪识别
  • UniApp 开发第一个项目
  • 专题:2025医疗AI应用研究报告|附200+份报告PDF汇总下载
  • 【网络实验】-配置用户登录