提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:胡涛|2023-09-27 11:23:01.757|阅读 17 次
概述:在本文中我们将向您介绍如何在报表控件 FastReport VCL中,制作带有产品成分的价格标签,欢迎查阅~
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
当打印标签、价格标签和其他尺寸有限的格式时,此类报告的设计方法受到限制,这是一个挑战。在这种情况下,文本对象只能增长到一定的大小,并且不可能将文本分割或迁移到另一个页面。我们如何才能在不删除信息的情况下将产品成分和其他数据放在单个标签上?答案很简单——减少内容!
从2023.3版本开始,我们在报表引擎FastReport VCL中添加了另一个强大的工具——通过缩放内容来减少“文本”对象中的文本。
让我们看一个带有产品成分的价格标签的简单示例。这种价格标签是使用标签打印机打印在准备好的纸张上,因此打印文本的数量存在物理限制。但作文可以从 3 个字到几十个字不等。
为了创建这样的报告,我们将使用创建多列报告的功能。您可以在用户手册中找到如何创建此类报告。让我们以创建一个包含两列的简单报告为例,如下图所示。我们不会深入研究如何创建报告,而是将重点放在必要的功能上。
让我们运行该建筑物的报告。
结果,预览显示该表格包含由几十个单词组成的产品,并且它不适合当前字体大小的价格标签。解决这种情况的方法显然是减小字体大小。
让我们返回到报表设计器,选择对象和不适合边框的文本,然后打开对象检查器。
我们需要的功能由ContentScaleOptions属性集控制。
自动缩放— 默认情况下禁用,该属性设置自动文本缩放模式。
casStatic 模式允许缩放文本,直到它适合容器或达到约束的极限(Constraints.MaxStepValue和Constraints.MinStepValue 属性)。
casStatic模式非常适合在带有价格标签的报告中使用,让我们将其打开并运行报告以进行构建。
根据生成的报告,您可以看到文本不仅被缩放,而且还增大了大小。这可以让你装满一个大容器。这对于某些报告可能有用,但在本例中则没有必要。让我们返回到报表设计器并禁用ContentScaleOptions.ScaleType属性的cstGrow标志。让我们运行该建筑物的报告。 、
现在,如果文本不适合对象,FastReport VCL 会打印价格标签并缩小字体大小。我们仅通过切换两个属性就达到了预期的结果。
带标签的示例是最常见的示例之一,但有时需要将带有不断增长的对象的带不间断地放置在页面上。如果在这样的带上有多个带有文本的对象,我们可以牺牲其中一些对象的字体大小并压缩整个容器。让我们使用一个带有随机数据的简单示例来看看它是如何工作的()。
在此示例中,每个文本对象输出大段文本,从而拉伸和移动底层对象。使用演示数据运行报告后,报告将类似于屏幕截图。
正如您所看到的,如果有大量文本,则该区域将分为两页(在我们的例子中,对象中有一个中断)。如果我们需要将数据放在一页上怎么办?设置为casStatic 的自动缩放模式不适合这种情况,因为对象具有在报告生成期间计算的动态高度。此外,拉伸的物体会取代下面的物体。对于这种情况,FastReport VCL有另一种对象缩放模式,通过将AutoScale设置为casDynamic属性来启用。
我们将MainText对象的AutoScale属性设置为casDynamic ,看看报表渲染结果。
MainText对象的大小减小,整个区域适合一页。但是,如果您需要跨多个对象按比例压缩文本怎么办?
让我们将BottomText对象的AutoScale属性设置为casDynamic并查看报告构建结果。
结果,两个对象都减小了字体大小,直到带完全适合页面。
FastReport VCL允许您控制对象压缩。每次传递对象的周期都会将对象中的字体减小给定的步长,该步长是在ContentScaleOptions.StepValue属性中为对象设置的。这将一直持续到区域适合页面或达到极限约束(Constraints.MaxStepValue和Constraints.MinStepValue属性)。
此外,每个对象只能在传递对象的给定迭代中进行处理。如果您希望前两次缩减迭代仅处理BottomText对象,只需设置ContentScaleOptions属性即可。对于Constraints.MinIterationValue方法,将值 3 分配给MainText对象(它将跳过前两次迭代)。呈现报告后,它将具有以下外观。
正如您所看到的,在前两次迭代中,我们的报表引擎仅压缩了BottomText对象,因此,其内容的比例较小。从视觉上看,迭代可以表示如下。
这种缩放内容(或文本)的迭代方法允许报告引擎确定要压缩的对象的优先级以及以什么顺序来实现最佳结果。
这种方法会对大量对象的报告生成速度产生负面影响。因此,可以通过设置TfrxReport.EngineOptions.ContentScaleMaxIterations属性(默认为 10)在报表引擎级别限制迭代次数。
FastReport技术QQ群:585577353
了解更多报表开发控件,欢迎咨询
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢