SuperAPI AI 工具集

syncfusion-uwp-pdf-viewer

办公与效率

查看项目

更新于 10-16 02:11

技能介绍

用途

Syncfusion UWP PDF Viewer(SfPdfViewerControl)是一个原生 UWP 控件,用于在 UWP 应用中查看、批注、搜索和打印 PDF 文档。它默认使用 Windows 渲染引擎(Windows.Data.Pdf),并支持可选的 PDFium 渲染器。

主要能力

  • 文档管理:从 PdfLoadedDocument、Stream 或 StorageFile 加载(同步与异步,支持 CancellationToken);保存带批注的文档;卸载与释放。
  • 批注:文本标记(高亮、下划线、删除线)、形状(矩形、椭圆、直线)、支持 Windows Ink Canvas 的墨迹、弹出注释(便签)、自由文本、自由文本标注以及自定义图章批注。
  • 文本操作:文本选择(可自定义颜色)、同步与异步文本搜索,支持上一个/下一个结果导航。
  • 导航与界面:页面导航命令、书签、超链接处理、缩放与视图模式、缩略图视图、桌面与移动端分离的工具栏布局、滚动条与进度环定制。
  • 实用与高级功能:将页面导出为图像(GetPage、GetPages、ExportAsImage)、访问垂直/水平偏移、通过 IPdfRenderer 接口使用 PDFium 自定义渲染器、显示页码。

使用方式

  • 入门与设置:参考 references/getting-started.md,涵盖所需程序集、NuGet 包、通过 XAML 或代码添加控件、ItemsSource 绑定以及 DocumentLoaded 事件;说明同步与异步加载方法、页数访问、保存(Save/SaveAsync)、卸载与释放。
  • 文档操作:参考 references/viewing-pdf.md,描述从 PdfLoadedDocument、Stream 和 StorageFile 加载 PDF 的同步与异步方式,涵盖异步加载的 CancellationToken 支持、带批注保存以及查看器卸载/释放模式。
  • 页面导航与查看:参考 references/page-navigation.md,说明编程式页面导航、内置导航命令(FirstPage、LastPage、NextPage、PreviousPage)以及 XAML 命令绑定;涵盖 PageChanged 事件、页数、页面间距、偏移集合以及页码显示切换。
  • 缩放与视图模式:参考 references/magnification.md,涵盖通过 ZoomTo 控制缩放、放大/缩小命令以及视图模式选项(FitWidth、Normal、OnePage);说明 MinimumZoomPercentage、缩略图视图切换以及读取当前缩放值。
  • 文本搜索与选择:参考 references/text-operations.md,说明同步与异步文本搜索、向前/向后结果导航、SearchNextCommand/SearchPreviousCommand;涵盖 GetTextCoordinates 获取所有文本匹配的页面位置;描述启用文本选择、自定义选择高亮颜色、TextSelectionCompleted 事件以及将选中文本复制到剪贴板。
  • 批注:参考 references/annotations.md,涵盖所有支持的批注类型;说明批注事件(Added、Tapped、Selected、Removed、MovedOrResized)、删除批注、AnnotationCollection、撤销/重做以及 IsDocumentEdited 属性。
  • 打印:参考 references/printing.md,说明 Print 方法、PrintCommand 以及支持 CancellationToken 的异步打印;涵盖 QualityFactor、自定义或禁用打印预览对话框以及通过 PrinterSettings 设置文档名称。
  • 书签与超链接:参考 references/bookmarks-and-hyperlinks.md,说明通过 GoToBookmark 导航到书签以及从 PdfLoadedDocument 获取书签集合;提供通过 HyperlinkPointerPressed 事件检查和校验超链接的代码示例。
  • 本地化:参考 references/localization.md,涵盖在应用清单中设置默认语言以及添加 .resw 资源文件用于 UI 字符串本地化;说明支持的资源文件名以及更改上下文菜单语言。
  • 手势事件与交互:参考 references/utilities.md,涵盖超链接上的指针事件(HyperlinkPointerPressed、HyperlinkPointerMoved)用于自定义交互处理;说明使用 PageChanged 和 DocumentLoaded 事件驱动导航后与加载后的工作流。
  • 实用与高级:参考 references/utilities.md,涵盖将 PDF 页面导出为 BitmapImage 对象(GetPage、GetPages)和图像流(ExportAsImage);说明访问垂直/水平滚动偏移、通过 IPdfRenderer 使用 PDFium 自定义渲染器以及 ShowPageNumber 和 VerticalScrollBarWidth 属性。

适用场景

  • 需要在 UWP 应用中查看和导航 PDF 文档。
  • 需要从流、StorageFile 对象或字节数组加载 PDF。
  • 需要添加和管理批注(高亮、下划线、删除线、墨迹、形状、自由文本、弹出注释、图章)。
  • 需要在 PDF 文档中搜索和选择文本。
  • 需要导航页面、书签和超链接(对不可信来源需进行校验)。
  • 需要以自定义质量和预览设置打印 PDF 文档。
  • 需要创建连接到 PDF 查看器命令的自定义工具栏。
  • 需要配置缩放、视图模式、滚动条和进度环。
  • 需要本地化查看器 UI。
  • 需要将 PDF 页面导出为图像或使用 PDFium 自定义渲染器。

限制与安全注意事项

  • 从不可信或用户提供的来源加载 PDF 时,务必在允许导航前校验超链接和内容。PDF 可能包含恶意超链接,可能将用户导向不可信网站或执行非预期操作。应始终使用 HyperlinkPointerPressed 事件检查并授权导航目标后再允许导航,具体校验代码示例见 references/bookmarks-and-hyperlinks.md。
  • 关于收费、价格、平台支持范围、性能效果等具体信息,资料中暂未提供。