报表开发工具DevExpress Reporting v23.2 - 增强PDF导出、多平台打印等

DevExpress Reporting是.NET Framework下功能完善的报表平台,它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表。

DevExpress Reporting控件日前正式发布了v23.2,新版本增强了PDF导出、macOS、Linux平台打印功能等,欢迎下载最新版产品体验!

DevExpress Reporting v23.2正式版下载(Q技术交流:532598169)

Reporting for ASP.NET Core
增强Visual Studio项目模板

新版本在项目模板中添加了对Docker的支持,您可以选择各种基于Linux操作系统的Docker映像:

  • Debian
  • Alpine
  • Ubuntu
  • openSUSE
  • Amazon Linux

一个Dockerfile会自动创建并添加到项目中,该文件包含所有必要的设置。

项目模板允许您指定用于缓存报表生成的文档存储类型,选项包括:

  • 文件存储
  • 数据库
  • 外部缓存服务,实现分布式应用程序的缓存机制
  • Azure存储
  • 内存中的存储

注意:当您在基于macOS和Unix的操作系统上使用.NET CLI 模板生成样例应用程序时,这些新选项也可用。

Reporting for All Platforms(所有平台)
增强的标签(可访问)PDF导出

您现在可以生成具有改进相关元素逻辑结构的可访问PDF,这个新选项允许屏幕阅读器识别文档的语义树,并改进PDF文档导航。

DevExpress Reporting v23.2新版产品图集

新版本添加了一个新的AccessibleRole属性,使用该属性为屏幕阅读器定义导出的PDF文档(与PDF/UA和PDF/A-1a、2a或3a规范兼容)中的报表元素结构,支持的元素包括:

  • 标题
  • 表格
  • 表标题行
  • 表标题单元格

您可以为以下报表控件指定角色:

  • XRLabel
  • XRTable
  • XRTableRow
Drill-Through报表

您现在可以为所有支持的平台创建drill-through报表,drill-through功能允许您单击报表元素并在相同的打印预览窗口中导航到详细报表。

DevExpress Reporting v23.2新版产品图集

要创建drill-through报表,请使用报表控件的Action属性(例如,XRLabel)。该属性允许您指定NavigateToReport操作(指定详细报告实例或URL以设置主-详细关系),并获取详细报告参数绑定的集合,以便将数据从主报表传递到详细报表。

支持Linux和macOS打印

DevExpress Reports现在支持通过Common UNIX Printing System (CUPS)打印文档,该库与macOS集成。对于基于UNIX的系统,您需要单独安装libcups2包。

要在通过CUPS访问的打印机上打印报告,请利用PrintToolBase类。

最终用户报表设计器 - 本地化属性描述

在v23.2中,您可以转换报表设计器属性网格中显示的属性描述。根据需要使用本地化服务或新的本地化API和UI本地化客户端实用程序。

DevExpress Reporting v23.2新版产品图集

有条件的水印

您现在可以根据特定条件在报表页面上显示文本和图片水印。

DevExpress Reporting v23.2新版产品图集

XtraReport类包含一个Watermarks集合属性,将XtraReport.WatermarkId属性绑定到表达式,以便将水印应用于特定的报表页面。使用下面的表达式为报告的奇数页和偶数页添加不同的水印:

Iif([Arguments.PageIndex]=0,'Watermark_0',Iif([Arguments.PageIndex]%2=0,'Watermark_1','Watermark_2'))

DevExpress Reporting v23.2新版产品图集

加入聚合

您现在可以使用新的Join()聚合函数根据特定条件将所有值连接起来,该函数将值连接成由指定分隔符分隔的单个字符串(如果未指定分隔符,则该函数使用逗号)。

DevExpress Reporting v23.2新版产品图集

带有Join()函数的表达式使用以下语法:

[Collection][Condition].Join(Expression)
[Collection][Condition].Join(Expression, Separator)

下面的表达式将按“CategoryID”字段分组的报表中的“CompanyName”字段值连接成一个以分号分隔的字符串:

[][[CategoryID] == [^.CategoryID]].Join([CompanyName], ';')
EPC QR码

新版本扩展了条形码生成支持,您现在可以创建EPC QR码,它可以生成包含SEPA信用转移相关数据的条形码。

DevExpress Reporting v23.2新版产品图集

EPC QR码还引入了对奥地利支付服务的内置支持。

DevExpress Reporting v23.2新版产品图集

带框架的QRCode

QRCodeGenerator类包含一个FrameOptions属性,使用该属性在代码周围绘制一个矩形框架。您可以从两个内置帧中进行选择,并指定以下设置:

  • Padding
  • Text
  • TextAlignment
  • TextPosition
  • TextColor
  • FrameWidth
  • FrameColor
  • CornerRadius

DevExpress Reporting v23.2新版产品图集

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/855309.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ClickHouse安装与下载22.3.2.2

ClickHouse安装与下载 目录 1. ClickHouse简介 1.1 ClickHouse优点: 1.2 ClickHouse缺点: 1.3 ClickHouse引擎: 1.3.1 数据库引擎 1.3.2 表引擎 2. ClickHouse下载安装 2.1 ClickHouse下载安装 2.2 ClickHouse使用 1. ClickHouse简…

中国剩余定理——AcWing 204. 表达整数的奇怪方式

中国剩余定理 定义 中国剩余定理最早出自我国古代的《孙子算经》,是数论中的一个重要定理。它描述了这样一种情况:在模运算下,对于一组线性同余方程组,存在唯一解的条件和求解方法。 运用情况 常用于在一些涉及到按不同模的余…

实习日记(一)

实习日记(一) 前话 来快手实习有一段时间了,博客也有一段时间没有更了,最近一段时间的状态是白天忙着工作晚上忙着实验室的科研,虽然很累但收获很多,让我了解到工作和科研确实是两个不同的方向&#xff0…

实际项目中如何实现分库分表

数据库分库分表 数据库分库分表是一种数据库设计和架构优化策略,目的是为了应对大规模数据和高并发访问带来的挑战。它将单个大型数据库分解为多个较小的、更易于管理的部分,即“库”(也称为数据仓库或实例),并根据某…

安全宣传咨询日活动向媒体投稿记住这个投稿好方法

在信息爆炸的时代,作为单位的信息宣传员,我肩负着将每一次重要活动,特别是像“安全宣传咨询日”这样的公益活动,有效传达给公众的重任。这份工作看似简单,实则充满了挑战,尤其是在我初涉此领域时,那段曲折而又难忘的投稿经历,至今记忆犹新。 初探投稿之海,遭遇重重困难 起初,我…

设计模式(四)创建者模式之单例模式

单例模式 单例设计模式单例模式的结构单例模式的实现饿汉式-方式1(静态变量方式)饿汉式-方式2(静态代码块方式)懒汉式-方式1(线程不安全)懒汉式-方式2(线程安全) synchronized 关键字…

注册安全分析报告:PingPong

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞 …

vscode-关闭ts与js语义校验

1.ts与js语义校验 TypeScript(TS)和JavaScript(JS)在语义校验方面有很大的不同。TypeScript是一种静态类型检查的编程语言,它是JavaScript的一个超集,为JavaScript添加了类型系统和其他一些特性。而JavaScr…

12.爬虫---PyMysql安装与使用

12.PyMysql安装与使用 1.安装 PyMySQL2.使用PyMySQL2.1创建数据表2.2连接数据库2.3增加数据2.4修改数据2.5查询数据2.6删除数据2.7关闭连接 3.总结 1.安装 PyMySQL PyMySQL是Python中用于连接MySQL数据库的库,安装起来非常简单。通常情况下,只需要在命令…

从零开始:精通基于大型语言模型(LLM)的Agent应用开发

一、引言 随着人工智能技术的飞速发展,大型语言模型(Large Language Model,简称LLM)已经成为自然语言处理(NLP)领域的核心技术之一。这些模型,如GPT、BERT等,通过大量的文本数据训练…

八个精品ETL工具,总有一款适合您的业务需求!

在数字经济高速发展的今天,数据的价值愈发凸显。ETL(Extract, Transform, Load)工具作为数据集成的关键一环,不仅帮助企业高效管理海量数据,还能为商业决策提供实时洞察。本文将深入探讨目前市场上的8款领先ETL工具&am…

大模型API和私有化部署的区别与联系

大模型 API(Application Programming Interface)和私有化部署是使用大规模机器学习模型的两种主要方式。它们有各自的优点和缺点,适用于不同的应用场景。以下是它们的区别与联系: 大模型 API 特点: 即用即用&#x…

Java—装饰器模式

介绍 装饰器模式 装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许你动态地将行为添加到现有的对象中,而无需修改其代码。装饰器模式提供了比继承更灵活的功能扩展方式。 主要角色 Component:定义一个对…

变量不自动初始化

代码: /*《AVR专题精选》随书例程2.编程技巧项目:不对变量进行初始化文件:main.c说明:演示不对变量进行默认初始化的方法。在proteus仿真例程中,按下按键,就可以看到两个变量输出结果的变化。作者&#xf…

今日事、今日毕,任务管理系统

使用 C 实现的今日事,今日毕,任务管理系统。

解决上一篇误删问题的改进(增加线程标识校验)

本文将基于上一篇文章介绍如何通过改进 Redis 分布式锁的实现来解决误删问题。 分布式锁的改进实现 1. 误删问题的原因 在原始实现中,分布式锁通过 Redis 的 setIfAbsent 方法获取锁,并通过 delete 方法释放锁。然而,在某些情况下&#xf…

web前端defer:深度解析与实用指南

web前端defer:深度解析与实用指南 在web前端开发中,defer是一个关键的属性,它影响着脚本的加载和执行方式。然而,对于许多开发者来说,defer的真正含义和用法却常常带来困惑。本文将通过四个方面、五个方面、六个方面和…

Python的print,input与注释的使用

1.print的使用 2.input的使用 3.如何注释 1.print的使用 1.1建立俩个变量a,b,直接把变量放在print的括号里面就会打印其的值。 1.2print可以同时打印多个,打印ab的值与字符串‘11’。 1.3先用chr()函数去获取对应97…

剖析 Kafka 消息丢失的原因

文章目录 前言一、生产者导致的消息丢失的场景场景1:消息太大解决方案 :1、减少生产者发送消息体体积2、调整参数max.request.size 场景2:异步发送机制解决方案 :1、使用带回调函数的发送方法 场景3:网络问题和配置不当…

定义仅限关键字参数

定义仅限关键字参数 Python里的函数不光支持通过有序位置参数(positional argument)调用,还能指定参数名,通过关键字参数(keyword argument)的方式调用。 比如下面这个用户查询函数: def que…