界面控件DevExpress中文教程:如何PDF图形对象的可见性?

DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。屡获大奖的软件开发平台DevExpress 近期重要版本v24.1已正式发布,该版本拥有众多新产品和数十个具有高影响力的功能,可为桌面、Web和移动应用提供直观的解决方案,全面解决各种使用场景问题。

复杂的PDF文档,如CAD图纸、技术施工计划、分层艺术品、地图或多语言文档,都充满了视觉信息,PDF层通常用于简化这些文档并提高整体可读性(图层允许您有选择地查看/隐藏部分)。

在本文中,我们将介绍几个直接与图层相关的使用场景,并向您展示如何使用DevExpress PDF Viewer和PdfDocumentProcessor (PDF文档API)来控制DevExpress驱动的应用程序中的图层可见性(层可见性支持在v24.1中引入)。

获取DevExpress v24.1正式版下载

控制图层可见性

您可以使用PdfOptionalContentGroupVisibility.Visible属性为适当的层或在DevExpress PDF查看器的图层面板中设置PDF图层可见性。要显示一个图层,单击其相关的复选框(可见图层用"眼睛"图标表示)。

您还可以通过Document Facade API管理图层的可见性,当一个图层被添加到文档中时,用户必须指定默认配置(基于状态的层设置)。例如,您的配置可以指定给定的图层在查看时隐藏,但在打印时可见。当您加载一个文档时,可以获得默认的图层配置(PdfOptionalContentProperties.DefaultConfiguration属性值),并指定用于启用图层设置的类别:

  • View(视图) - 在视图状态下应用于图层的设置(当您在查看器中显示文档时)。
  • Print(打印) - 在打印预览模式或打印文档时应用于图层的设置。
  • Export(导出) - 导出文档时应用于图层的设置。
  • Zoom(缩放) - 基于缩放级别的图层设置。
  • Language(语言) - 应用于图层的语言文化设置。

例如,如果您将ActiveUsages设置为PdfOptionalContentUsageCategories,打印时只有默认配置中的打印设置在打印文档时应用于图层,其他默认设置自动禁用,您可以将ActiveUsages设置为none来禁用所有默认设置并仅应用当前设置。

重要提示:PDF文档只存储默认的内容配置,这意味着在保存文档时不会保留图层可见性,可见性设置适用于在PDF Viewer组件中预览文档、打印文档或将其导出为图像时。

用例1:从不同的角度分析报告数据

在这个示例中包含销售指标的PDF包含多个图层,其中包含针对不同人员的注释。您可以在查看文档时控制PDF查看器中的图层可见性,这允许您在不增加报表页面数量的情况下显示适当的注释。

用例2:缩放时显示详细信息

在本例中,带有地图的PDF文件使用200%缩放的不同图层(显示额外的数据)。

用例3:打印时给文档贴标签

在本例中打印文档中添加了 DevExpress logo, logo被放置在一个单独的图层上,包括以下配置设置:

它在查看文档时隐藏,但在打印/导出此文档时呈现。

对于这个场景,我们启用了配置图层的打印使用:

cs 复制代码
using DevExpress.Pdf;
using System;
using System.Linq;
using DevExpress.Drawing;

static void Main(string[] args) {
using (PdfDocumentProcessor processor = new PdfDocumentProcessor()) {
processor.LoadDocument("PdfLayers.pdf");
// Specify which settings from the default configuration will be applied for each layer contained in a document.
processor.DocumentFacade.OptionalContentVisibility.ActiveUsages = PdfOptionalContentUsageCategories.Print;
// Print the document.
DXBitmap bitmap = processor.CreateDXBitmap(1, 1000);
PdfPrinterSettings pdfPrinterSettings = new PdfPrinterSettings();
processor.Print(pdfPrinterSettings);
}
}

输出如下:

正如前面提到的,图层支持实在v24.1发布周期中引用的。

相关推荐
张工在路上29 分钟前
WPF 布局基础概述
大数据·hadoop·wpf
DevOpenClub2 小时前
PDF 多格式解析如何避免混用输出:TEXT、HTML、XML 与 TAG 数据契约
xml·前端·数据库·pdf·html
DevOpenClub3 小时前
网页证据如何长期复核:快照、静态 HTML 与 PDF 归档链路
前端·pdf·html
星栈独行4 小时前
自定义 UI-UX-Pro-Max 的 CSV 知识库,把 AI 生成的后台拉回行业该有的样子
前端·人工智能·ui·ux
拆房老料6 小时前
LibreOffice 26.8 发布后,再看 BaseMetas FileView 的 Office 转 PDF 技术路线
pdf·word·开源软件·ppt·格式工厂
开开心心就好6 小时前
手机悬屏翻译工具外语游戏漫画APP全覆盖
android·前端·javascript·python·游戏·pdf·html
redfred7 小时前
Koodo Reader 使用教程:开源电子书阅读器 epub/pdf/mobi/azw3 全格式 多端同步 AI翻译 笔记高亮
人工智能·pdf·开源
Metaphor6927 小时前
如何在 Python 环境中裁剪 PDF 页面
python·pdf
开开心心就好7 小时前
手机精确倒计时工具悬浮窗口秒数实时显示
android·前端·javascript·jupyter·智能手机·pdf·html
xy34531 天前
Axure9.0 中继器遮罩的核心应用场景(精准适配列表交互)
前端·ui·html·原型·产品设计·axure9.0