DevExpress WinForms v24.1新版亮点:富文本编辑器、电子表格组件功能升级

news2024/11/26 21:28:20

DevExpress WinForms拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!

DevExpress WinForms控件v24.1日前已经全新发布,新版本进一步升级了富文本编辑器、电子表格组件功能等,欢迎下载最新版体验!

DevExpress v24.1正式版下载(Q技术交流:532598169)

富文本编辑器
可访问性 - 支持屏幕阅读器

DevExpress WinForms v24.1增加了对关键可访问性相关需求的支持,包括辅助技术(如屏幕阅读器)读取文档主体中的文本、图像的替代文本和名称、文本框内容、页眉和页脚的能力。

导出为可访问的PDF

在将Word文档导出为可访问的PDF文件时,官方扩展了对以下元素的可访问性相关支持:

  • 目录标签
  • 元数据字段
  • Alt文本处理
  • 表格
  • 浮动对象

使用Adobe Acrobat Pro和PDF Accessibility Checker 2024 进行质量控制,新版本的测试文档成功地通过了PDF/UA兼容性和WCAG 2.1兼容性的验证。

当您指定PdfUACompatibility选项时,与可访问性相关的导出增强功能可以开箱即用:

C#

using System.IO;
using DevExpress.XtraRichEdit;

//...
using(FileStream stream =
new FileStream(resultFilePath, FileMode.Create, FileAccess.Write, FileShare.Read)) {
PdfExportOptions exportOptions = new PdfExportOptions();
exportOptions.PdfUACompatibility = PdfUACompatibility.PdfUA1;

richEditControl.ExportToPdf(stream, exportOptions);
}
装饰形状

DevExpress WinForms v24.1为Shape类添加了一个Decorative属性,将文档图形(图片、形状和图表)标记为装饰性的。装饰性的形状增加了视觉上的趣味,但它们不能提供信息。因此在生成可访问文档时,不需要为装饰性对象指定Alt Text(有意义的描述)。

数学方程

富文本编辑器现在保存文档时保留数学方程,您可以在DevExpress WinForms富文本编辑器中导入带有数学方程的Word文档,并将其保存为RTF和OpenXml (.docx/.docm)格式,而不会丢失内容。

注意:只有当源文档包含数学方程的备用图像时,数学方程才会被打印或导出为PDF。要抑制数学方程的导入,请将DocumentCapabilities.MathEquations属性设置为DocumentCapability.Disabled。

Gutter和镜像边距

DevExpress WinForms Rich Text Editor v24.1允许您指定沟边距-额外的空间,以确保绑定不会模糊打印页面上的文本。您可以指定沟位置(上、左、右)和边距大小,使用Document.GutterAtTop, SectionMargins.GutterPosition 和 SectionMargins.Gutter属性来解决特定的使用需求。

DevExpress WinForms v24.1产品图集

下面的代码片段向第一个文档部分添加了左gutter:

C#

using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;
using DevExpress.Office.Utils;
//...

richEditControl.LoadDocument(@"Documents//Alice.docx");

Document document = richEditControl.Document;
Section firstSection = wordProcessor.Document.Sections[0];

var pageMargins = firstSection.Margins;
pageMargins.GutterPosition = GutterPosition.Left;
pageMargins.Gutter = Units.InchesToDocumentsF(1);

richEditControl.SaveDocument("Alice_formatted.docx", DocumentFormat.OpenXml);

新的DocumentMarginType属性允许您定义一个规则的或镜像的边距类型,如果在纸张的两面打印并希望绑定打印输出,则启用镜像页边距。

下面的代码片段启用镜像边距并指定一个额外的空格值:

C#

using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;
using DevExpress.Office.Utils;
//...
richEditControl.LoadDocument(@"Documents//Alice.docx");
Document document = richEditControl.Document;

// Enable mirrored margins
document.MarginsType = MarginsType.Mirrored;

foreach (Section section in richEditControl.Document.Sections) {
var pageMargins = section.Margins;

// Set the value for mirrored margins
pageMargins.Gutter = Units.InchesToDocumentsF(0.5f);
}

richEditControl.SaveDocument("Alice_formatted.docx", DocumentFormat.OpenXml);

新的UI元素也可用。

图像导出API

v24.1包括新的跨平台API,用于将Word文档页面导出为图像,这个新功能允许您生成文档预览。使用新的API您可以将文档页面转换为光栅和矢量图像(PNG, JPEG, BMP,多页Tiff, emf),将它们保存为磁盘上的物理文件或获取图像流列表以便在代码中进行进一步处理,还可以设置图像背景颜色、修改输出图像分辨率或生成具有指定大小的缩略图图像。

新的API可以通过Document对象的RichEditDocumentServerExtensions.ExportToImage扩展方法获得。

请注意,RichEditDocumentServerExtensions类是在DevExpress.Docs.v24.1.dll程序集中定义的。将这个程序集添加到你的项目中,或者安装"DevExpress.Document.Processor" NuGet包来使用RichEditDocumentServerExtensions成员。

下面的代码片段将第一个文档页面导出为具有指定大小和JPEG格式的图像:

C#

using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.Export.Image;
using DevExpress.Drawing;

richEditControl.LoadDocument(@"C:\Documents\Alice.docx");
//...
RichEditImageExportOptions options = new RichEditImageExportOptions();
options.Format = DXImageFormat.Jpeg;
options.PageRange = "1";
options.LargestEdgeLength = 1080;

richEditControl.Document.ExportToImage(@"C:\Documents\Image.jpeg", options);
将文档页面导出为SVG

全新的 Image Export APIs允许您将文档页面导出为SVG,使用RichEditImageExportOptions.Format选项将SVG设置为目标图像格式。

C#

RichEditImageExportOptions options = new RichEditImageExportOptions();
options.Format = DXImageFormat.Svg;
options.PageRange = "1";

richEditControl.Document.ExportToImage(@"C:\Documents\Image.svg", options);

SVG Export也可以从用户界面-打开打印预览对话框,单击导出到图像按钮,在图像选项对话框中选择SVG格式并完成文档导出。

SVG滚动光标

带有可滚动内容的DevExpress WinForms数据感知控件现在附带了与DPI无关的滚动光标(当用户按下鼠标中键时出现的光标),无论屏幕分辨率如何,都可以提供平滑和精确的导航。

Spreadsheet(电子表格)
可访问性增强 - 装饰形状

DevExpress WinForms v24.1为Shape类添加了一个Decorative属性,将文档图形(图片、形状和图表)标记为装饰性的。装饰性的形状增加了视觉上的趣味,但它们不能提供信息。因此在生成可访问文档时,不需要为装饰性对象指定Alt Text(有意义的描述)。

对齐和分布式文本对齐

DevExpress WinForms v24.1增加了对电子表格单元格内的水平对齐类型的支持,使用这些对齐选项的Excel文件可以打印并导出为PDF。

您可以使用Cell.Alignment.Horizontal属性在代码中指定水平对齐方式。

DevExpress WinForms v24.1产品图集

下面的代码片段指定了代码中的对齐方式:

C#

var workbook = new Workbook();
var worksheet = workbook.Worksheets[0];

Cell cellA1 = worksheet.Cells["A1"];
cellA1.Value = "Justified and top";
cellA1.Alignment.Horizontal = SpreadsheetHorizontalAlignment.Justify;
cellA1.Alignment.Vertical = SpreadsheetVerticalAlignment.Top;
workbook.ExportToPdf("Result.pdf");
按颜色排序和过滤

DevExpress WinForms Spreadsheet附带了增强的过滤器和排序相关功能,新版本添加了新的API,可以根据背景和字体颜色对工作簿数据进行排序和过滤,按单元格颜色过滤/排序的单元格范围也可以打印并导出为PDF。

排序API包括新的工作表,排序方法重载设计用于按字体颜色或填充设置(背景颜色和图案)对指定范围进行排序。

下面的代码片段跨两个单元格区域对单元格值进行排序——第一个单元格按红色字体颜色排序,第二个单元格按区域中第一个单元格指定的填充设置排序:

C#

spreadsheetControl.LoadDocument("sort-filter.xlsx");
Worksheet worksheet = spreadsheetControl.ActiveWorksheet;

// Sort cell range by font color
worksheet.Sort(worksheet["B2:B10"], Color.Red);
// Sort cell range by fill color
worksheet.Sort(worksheet["D2:D10"], worksheet["D2"].Fill);

若要按字体或背景颜色筛选单元格,需要对所需的单元格区域或表应用自动筛选器。完成后您需要从AutoFilter中获得所需的列,列集合并调用以下方法当中的一个:

  • AutoFilterColumn.ApplyFillColorFilter(Color)
  • AutoFilterColumn.ApplyFillFilter(Fill)
  • AutoFilterColumn.ApplyFontColorFilter(Color)

下面的代码片段对单元格范围和表使用了这些方法:

C#

spreadsheetControl.LoadDocument("sort-filter.xlsx");
Worksheet worksheet = spreadsheetControl.ActiveWorksheet;

// Apply an auto-filter to a cell range and filter the first column by font color
worksheet.AutoFilter.Apply(worksheet["B1:B10"]);
worksheet.AutoFilter.Columns[0].ApplyFontColorFilter(Color.Red);

// Create a table, apply an auto-filter and filter the first column by fill color
Table table = worksheet.Tables.Add(worksheet["B12:B21"], true);
table.AutoFilter.Apply();
table.AutoFilter.Columns[0].ApplyFillColorFilter(Color.Red);

此外新API允许您跨筛选范围(当启用自动筛选时)对数据进行排序,并同时按其值/颜色对单元格进行排序(使用排序条件)。

导出单元格范围到SVG

在这个版本中增强了 CellRangeExtensions.ExportToImage 方法并添加了对SVG图像格式的支持。

CellRangeExtensions类是在DevExpress.Docs.v24.1.dll程序集中定义的,将此程序集添加到您的项目中或安装DevExpress.Document.Processor NuGet包来使用CellRangeExtensions成员。

C#

spreadsheetControl.LoadDocument("InvestmentPortfolio.xlsx", DocumentFormat.Xlsx);
Worksheet worksheet = spreadsheetControl.ActiveWorksheet;

worksheet.Range["B18:I30"].ExportToImage("cell_range_image.svg", ImageFileFormat.Svg);

SVG导出也可以从用户界面-打开打印预览对话框,单击导出到图像按钮,在图像选项对话框中选择SVG格式并完成文档导出。

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

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

相关文章

自动驾驶-轨迹拼接

在进行自动驾驶的规划之前,要确定当前帧轨迹规划的起点,这个起点常被误认为是当前车辆的位置,即每次以车辆的当前位置进行轨迹规划;其实不是这样的,直观上,这会导致本次次规划的轨迹同上次规划的轨迹之间是…

如何计算服务需要部署多少台机器?

写在前面 遇到流量激增的性能问题,相信绝大多数人的第一反应不是优化代码而是加机器!比如隔壁微博一旦出现爆炸性吃瓜,就会紧急扩机器,防止自己服务被打挂(虽然经常被打挂 这篇文章我们就来讲一下如何 计算出一个服务…

项目配置说明

文章目录 一、下载 vscode 并安装相应扩展1.1 下载 vscode1.2 安装扩展 二、git 项目三、git 提交流程3.1 确定要提交的代码 四、git 拉新流程 一、下载 vscode 并安装相应扩展 1.1 下载 vscode vscode 我已经发群里了,或者自己去官网下载也行 1.2 安装扩展 打开…

四舵轮车辆中的舵轮角度计算

对于四舵轮车辆,或者对角线安装的双舵轮车辆来说,当同时存在线速度与角速度的时候,它的两个轮子的角度值是不一样的,而它的角度值与其当时的瞬心相关(机器人模型与ICR(Instantaneous Center of Rotation))。…

IP6537_C_30W20V--移动设备快充的得力助手,集成 14 种快充协议的降压 SoC

IP6537_C_30W20V是一款集成同步开关的降压转换器、支 持 14 种输出快充协议、支持 Type-C 输出和 USB PD2.0/PD3.0(PPS)协议的 SoC,为车载充电器、 快充适配器、智能排插提供完整的解决方案。 IP6537_C_30W20V支持 USB Type-C 或者 USB A 输出, 5V 输出功…

火语言RPA流程组件介绍--模拟键盘输入

🚩【组件功能】:在浏览器网页中使用键盘操作模拟输入值 配置预览 配置说明 按键间隔(ms) 支持T或# 输入仅支持整型 两次输入按键的间隔,单位毫秒 输入内容 支持T或# 默认FLOW输入项 需要输入的内容 超时时间 支持T或# 输入仅支持整型 输入的超时时…

我们的赞赏码

每一位粉丝的认可,都是我们前进的动力。欢迎为我们点赞、转发和分享,让我们一起传递美好与快乐! 我们真诚地邀请您来赞赏我们,您的认可是我们前进的动力! 赞赏我们只要0.99,让我们一起在CSDN增长知识&…

OpenAI 开发者大会!实时语音功能有API了,GPT-4o支持多模态微调,上下文cache功能上线

家人们!十一假期第1天, OpenAI一年一度的开发者大会又来了惹!今年的开发者大会分成三部分分别在美国、英国、新加坡三个地点举办,刚刚结束的是第一场。 去年的OpenAI开发者大会公布了GPT-4 Turbo和GPTs,今年没有大更新…

【硬件模块】SG90舵机模块

SG90舵机模块实物图 180度舵机:可以控制旋转角度、有角度定位。上电后舵机自动复位到0度,通过一定参数的脉冲信号控制它的角度。 360舵机:不可控制角度,只能控制顺时针旋转、逆时针旋转、停止和调节转速。 如图所示为:…

仅用pygame+python实现植物大战僵尸-----完成比完美更重要

前言 其实这个项目再我上半年就想着做一下的,但是一直拖到现在,我现在深刻的理解到,不要想那么多,先做,因为永远不可能准备好,都是边做边学便准备的,完成比完美更重要;使用python&a…

【YOLO学习】YOLOv2详解

文章目录 1. 概述2. Better2.1 Batch Normalization(批归一化)2.2 High Resolution Classifier(高分辨率分类器)2.3 Convolutional With Anchor Boxes(带有Anchor Boxes的卷积)2.4 Dimension Clusters&…

每日一题|1928. 规定时间内到达终点的最小花费|动态规划、最小路径

本题需要使用动态规划进行解决。 分析: 求解最小值而且每一次的状态是由上一次的状态推导出来的,用动态规划。 难点:dp数组的定义和更新。 1、dp数组的定义 在时刻t,位置i处,此时的花费可以表示为如下的形式&#…

CNN卷积神经网络算法原理

全连接神经网络概述 输入层在左点自外,相应的输出层在右点之外, 这就像一个函数,yf(x),x即输入,f即隐藏层,y即输出,或者是ymodel(x) 全连接神经网络的结构单元 主要是从单元到整体&#xff0c…

杀疯啦!yolov11+strongsort的目标跟踪实现

目录 yolov11介绍——实时端到端物体检测 概述 主要特征 支持的任务和模式 性能指标 总结 strongsort介绍 指标图 系统定位 效果展示 训练与预测 UI设计 界面其他功能展示 完整代码实现UI界面 yolov11介绍——实时端到端物体检测 概述 YOLO11 是 Ultralytics Y…

基于yolov5 无人机检测包含:数据集➕训练好的代码模型训练了300轮 效果看下图 map97%以上

基于yolov5 无人机检测包含:数据集➕训练好的代码模型训练了300轮 效果看下图 map97%以上 基于YOLOv5的无人机检测项目 项目名称 基于YOLOv5的无人机检测 (Drone Detection with YOLOv5) 项目概述 该项目使用YOLOv5模型进行无人机目标检测。数据集包含大量带有标注的无人机…

wsl中安装ubuntu,vscode访问这个ubuntu

WSL1升级为WSL2 wsl --set-default-version 2 wsl --set-version Ubuntu-22.04 2在windows商店中也可以安装ubuntu,在这个ubuntu中windows的c盘在/mnt/c中

国庆刷题(day2)

C语言刷题: C刷题:

数据结构与算法——Java实现 27.双端队列

很多人觉得做一件事付出了10分的努力,却只得到5分的汇报。 其实剩下的五分,是在填补你过往的懒惰。 只有将过往的懒惰填满, 努力才会有正向结果 —— 24.10.3 一、概述 双端队列、队列、栈对比: 队列 一端删除(头&am…

计算机毕业设计 基于Python的个性化旅游线路推荐系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

C++基础补充(02)C++其他控制语句break continue goto等

文章目录 1. break2. continue 语句3. goto 语句goto的存在 4. 跳出多重循环4.1 goto 直接跳转4.2 C11及其后版本的 return 语句4.3 使用标志变量 在C中,控制语句用于管理程序的执行流程。常见有 break、continue 和 goto。 1. break break语句主要用于在循环或者s…