尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

界面控件DevExpress WPF v25.1新版亮点:PDF Viewer功能全新升级

界面控件DevExpress WPF v25.1新版亮点:PDF Viewer功能全新升级
📅 发布时间:2026/6/22 23:36:05

界面控件DevExpress WPF v25.1新版亮点:PDF Viewer功能全新升级

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

DevExpress WPF控件近期全新发布v25.1,此版本增强PDF Viewer、电子表格等控件功能,欢迎下载最新版体验!

点击获取DevExpress v25.1正式版下载

DevExpress技术交流群12:1028386091      欢迎一起进群讨论

PDF Viewer
保存时保留压缩对象流

在以前的版本中,DevExpress PDF处理工具仅在读取文档时支持压缩对象流。

为了在保存PDF文档时减小文件大小,v25.1包含了一个新的压缩引擎,可以保留PDF对象流的原始/压缩状态。DevExpress压缩机制自动适用于多种文档结构(文本,PDF表单,字体等),并允许您更有效地修改和保存PDF文件。

PDF Redaction API

v25.1包括用于创建和管理PDF编校注释的新API,使用此功能,您可以隐藏/删除文档中的敏感或私有内容,并在编辑区域中添加彩色文本覆盖。

编校过程包括两个步骤:

  • 在PDF页面区域中创建一个具有所需外观的编校注释(如果希望隐藏内容但为其他用户保留内容,则创建一个值)。
  • 使用注释清除内容,并使用指定的外观设置应用覆盖。在这种情况下,所有隐藏的内容都将被删除。

注意:编校可以使用PDF Facade API (DevExpress.Pdf. PdfDocumentFacade类),该类在DevExpress.Docs.v25.1.dll程序集中定义,将这个程序集添加到您的项目中,或者从离线包源中安装DevExpress.Document.Processor Nuget包来使用PdfDocumentFacade成员。

要在生产代码中使用这个类,需要拥有DevExpress Office File API Subscription或DevExpress Universal Subscription的有效授权许可。

在代码中创建和应用编校注释

要创建编校注释,您必须:

  • 使用PdfViewerControl.GetDocumentFacade扩展方法来获取DevExpress.Pdf.PdfDocumentFacade实例。
  • 从 PdfDocumentFacade.Pages集合中检索所需的PDF页面。
  • 调用PdfPageFacade.AddRedactAnnotation方法,该方法返回一个PdfRedactAnnotationFacade对象,您可以使用该对象修改编校注释的外观:背景颜色、覆盖文本、文本字体设置(字体名称、颜色、大小和样式)、文本重复和对齐。

新的API允许您应用以下注解:

  • 单个编校注释:PdfRedactAnnotationFacade.Apply
  • 特定页面的所有编校注释:PdfPageFacade.ApplyRedactAnnotations
  • 整个文档中的所有编校注释:PdfDocumentFacade.ApplyRedactAnnotations
DevExpress WPF v25.1新版产品图集

您还可以使用DevExpress.Pdf.PdfClearContentOptions来指定要删除的内容类型(文本、图形、图像或注释)。

C#

pdfViewer.LoadDocument("Demo.pdf");
//...
PdfDocumentFacade documentFacade = pdfViewer.GetDocumentFacade();
PdfRectangle pageCropBox = pdfViewer.GetPageInfo(0).CropBox;
PdfRectangle redactBounds =
new PdfRectangle(0, pageCropBox.Height-50, 200, pageCropBox.Height);// Add a redaction annotation at the top left corner of the first document page.
PdfRedactAnnotationFacade redactAnnotation =
documentFacade.Pages[0].AddRedactAnnotation(redactBounds);
redactAnnotation.Author = "Jane Doe";
// Setup redaction annotation appearance
redactAnnotation.FillColor = new PdfRGBColor(0, 0, 0);
redactAnnotation.FontColor = new PdfRGBColor(1, 1, 1);
redactAnnotation.FontName = "Calibri";
redactAnnotation.FontSize = 0; // enables font auto-size
redactAnnotation.OverlayText = "Classified";
redactAnnotation.TextJustification = PdfTextJustification.Centered;
redactAnnotation.RepeatText = false;// Apply the redaction annotation.
redactAnnotation.Apply();
Spreadsheet(电子表格)控件
OLE对象

DevExpress WPF Spreadsheet控件现在支持OLE对象,OLE(对象链接和嵌入)允许您链接外部文件并将数据(电子表格,PDF文件,邮件消息,演示文稿等)嵌入到Excel文档中。

有了OLE Object的支持,您可以执行以下操作:

  • 创建带有外部文件链接的OLE对象,或将这些文件中的数据嵌入到文档中;
  • 获取OLE对象属性;
  • 从文档中提取OLE对象数据;
  • 从文档中删除OLE对象;
  • 打印和输出带有OLE对象图标的文件为PDF/图像格式;
  • 加载和保存包含OLE对象的文档而不会丢失内容。

OLE对象由OleObject接口表示,作为唯一的文档形状,OLE对象从基本形状接口继承所有设置,形状设置定义OLE对象的图标外观、位置和内部对象属性(包括名称、图标大小、图标在工作表中的位置、所有文本等)。

要访问工作表中的OLE对象,请使用Worksheet.OleObjects 集合(也可通过Worksheet.Shapes集合获得),OleObjectCollection.AddLinkedOleObject和OleObjectCollection.AddEmbeddedOleObject方法允许您在工作表中创建新的链接或嵌入OLE对象。

C#

Worksheet worksheet = spreadsheetControl.ActiveWorksheet;
CellRange oleIconRange = worksheet.Range["B4:D6"];
SpreadsheetImageSource oleIcon = SpreadsheetImageSource.FromFile("oleIcon.png");// Create linked OLE object.
OleObject oleObjectLinked = worksheet.OleObjects.AddLinkedOleObject(
oleIconRange, "package.pdf", OleObjectType.Package, oleIcon);// Create embedded OLE object from a byte array.
byte[] sourceData = File.ReadAllBytes("package.pdf");
OleObject oleObjectEmbedded1 = worksheet.OleObjects.AddEmbeddedOleObject(
oleIconRange, sourceData, OleObjectType.Package, oleIcon);// Create embedded OLE object from a file stream.
using (var stream = File.OpenRead("package.pdf")) {
OleObject oleObjectEmbedded2 = worksheet.OleObjects.AddEmbeddedOleObject(
oleIconRange, stream, OleObjectType.Package, oleIcon);

您还可以提取和分析链接和嵌入的数据,使用OleObject.InsertType属性来确定OLE对象类型(链接的或嵌入的),OleObject.AsLinkedContent 和OleObject.AsEmbeddedContent 方法允许您根据OLE对象类型提取附加信息。对于链接的对象,您可以使用OleObjectLinkedContent.FileName属性获得链接的文件名。对于嵌入对象,您可以使用OleObjectEmbeddedContent.GetRawData 方法获得原始二进制内容,或者使用OleObjectEmbeddedContent.SaveAs方法将嵌入内容保存到文件中。

C#

Worksheet worksheet = spreadsheetControl.ActiveWorksheet;
OleObject oleObject = worksheet.OleObjects[0];
if(oleObject.InsertType == OleObjectInsertType.Linked)
{
OleObjectLinkedContent linkedContent = oleObject.AsLinkedContent();
string linkedFileName = linkedContent.FileName;
}
if(oleObject.InsertType == OleObjectInsertType.Embedded)
{
OleObjectEmbeddedContent embeddedContent = oleObject.AsEmbeddedContent();
byte[] oleRawData = embeddedContent.GetRawData();
if (oleObject.Type == OleObjectType.AdobeAcrobatDocument)
using (FileStream stream = new FileStream("embedded_document.pdf", FileMode.Create, FileAccess.Write))
embeddedContent.SaveAs(stream);
}

您还可以从电子表格中删除OLE对象。使用OleObject.Delete、OleObjectCollection.Remove或OleObjectCollection.RemoveAt方法删除单个OLE对象,或使用OleObjectCollection.Clear 方法从工作表中删除所有OLE对象。

C#

OleObject oleObject = worksheet.OleObjects[0];// Remove the current OLE object.
oleObject.Delete();
// or
worksheet.OleObjects.Remove(oleObject);// Remove all OLE objects in the collection.
worksheet.OleObjects.Clear();

注意:OLE对象支持仅在基于OpenXML的文件格式(XLSX、XLSM、XLTX和XLTM)中可用。


更多DevExpress线上公开课、中文教程资讯请上中文网获取

相关新闻

  • 2025年咖啡豆工厂推荐榜单:从专业制造到定制服务的权威选择指南
  • 2025年全年度四川工作服/残疾人服装/劳保服/工作服定制品牌推荐排行榜:权威解析与选购指南
  • 2025年导电炭黑厂家权威推荐榜单:超导电炭黑/乙炔炭黑/色素炭黑源头厂家精选

最新新闻

  • 一线观察:长期体验后,长春商务车改装店技术口碑的真实表现 - 资讯纵览
  • 北京中央空调维修去哪找?鑫诚制冷、嘉一制冷2026本地口啤榜 - 我叫一
  • Ubuntu 20.04下安全配置MongoDB远程访问实战指南
  • 2026年混凝试验搅拌器推荐榜:程控/6联/自动升降加药型,水质检测与高校实验室精准控速耐腐蚀之选 - 品牌发掘
  • Kali Linux 26.1 部署 Goby 2.9.28 速通 Windows Server 2008 R2 渗透测试实战
  • 2026北京公司注册代办机构横向评测:6家合规机构对比解析 - 资讯纵览

日新闻

  • 2026速览惠州叛逆青少年学校前十大排名名单出炉 - 武汉中职最新信息发布
  • 2026上饶白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 天龙八部单机版终极数据管理工具:5个技巧快速掌握游戏数据编辑

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号