DevExpress WPF v24.1新版亮点:PDF查看器、富文本编辑器功能升级

DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。

DevExpress WPF控件日前正式发布了今年一个重大版本------v24.1,此版本全新升级了PDF查看器、富文本编辑器等功能,欢迎下载最新版体验!

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

PDF Viewer(查看器)
签名信息面板

使用全新的Signature Info(签名信息)面板,您可以显示加载文档种每个签名的详细信息并验证签名的有效性。

当您打开文档时,DevExpress WPF PDF Viewer将验证签名并在Signature面板中显示相关状态(有效、无效或未知)。

此外,新面板还显示了以下与签名相关的信息:

  • 文件中签名的位置
  • 签名者的信息
  • 创建签名的原因
  • 文件签署的日期和时间,并在签署后进行修改
  • 证书信息
图层

DevExpress WPF PDF文档图层允许您有选择地查看或隐藏特定内容部分,图层的主要目的是控制在不同状态下呈现在PDF文档中的图形对象的可见性(当您查看或打印PDF文档时)。

这个新功能允许您通过UI更改图层可见性。在新建图层面板中,点击图层名称旁边的复选框,显示/隐藏给定的文档图层。使用"眼睛"图标突出显示可见层;由于文档配置而无法隐藏的层在其名称旁边没有复选框。

新版本添加了一个图层面板来显示文档中包含的所有图层,借助PDF Facade API的强大功能,您还可以在运行时预览或打印PDF文档时访问和管理图层可见性。调用PdfViewerExtensions.GetDocumentFacade扩展方法来获取PdfDocumentFacade类对象(它允许您在不访问其内部结构的情况下更改PDF文档),并使用PdfDocumentFacade.OptionalContentVisibility集合来更改代码中所需文档层的可见性状态。

注意 :PdfDocumentFacade类在DevExpress.Docs.v24.1.dll程序集中定义,将这个程序集添加到您的项目中,或者安装DevExpress.Document.Processor NuGet包来使用PdfDocumentFacade成员。您需要获得DevExpress Office File API SubscriptionDevExpress Universal Subscription的授权才能在生产代码中使用该类。

C#

cs 复制代码
pdfViewer.LoadDocument("layers.pdf");
PdfDocumentFacade documentFacade = pdfViewer.GetDocumentFacade();

// Set visibility for each Layer
documentFacade.OptionalContentVisibility.Groups[0].Visible = false;
documentFacade.OptionalContentVisibility.Groups[1].Visible = false;
documentFacade.OptionalContentVisibility.Groups[2].Visible = true;
富文本编辑器
导出为可访问的PDF

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

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

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

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

C#

cs 复制代码
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);
}
装饰形状

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

数学方程

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

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

边距和镜像边距

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

下面的代码片段在第一个文档节中添加了一个左gutter:

C#

cs 复制代码
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);

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

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

C#

cs 复制代码
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元素也可用。

相关推荐
我是唐青枫15 小时前
C#.NET StructureMap 从依赖注入到项目实战
开发语言·c#·.net
FuckPatience15 小时前
WPF 改变根据某一列条件改变行样式
wpf
Lost of 程序猿16 小时前
C# 12 / .NET 9 新特性机制深度:编译器替你写了什么,哪些糖吃下去会出事
windows·c#·.net
dalong101 天前
WPF:DataGrid样式
wpf
唐青枫2 天前
C#.NET StructureMap 从依赖注入到项目实战
c#·.net
智码看视界2 天前
.NET 10 推理大模型TensorSharp 3.3.0 部署实测:纯.NET推理引擎反超llama.cpp 1.5倍,DFlash2提速62%
c#·.net·llama.cpp·.net 10·tensorsharp·本地大模型推理·开源推理引擎
唐青枫2 天前
别把日志、权限写进业务方法:C#.NET 动态代理从原理到实战
c#·.net
风云2 天前
Vane.Dispatch 1.0.0 发布:一个与容器、传输层零耦合的 .NET 服务分发引擎
微服务·mvc·.net·ndf·vane.dispatch
张人玉3 天前
基于 C# WinForms + .NET 8 + SQLite + TCP Socket 的多连接通讯调试工具——TCP通讯助手(TcpAssistant)
tcp/ip·sqlite·c#·.net