SuperAPI AI 工具集

syncfusion-winforms-pdf-viewer

编程与开发

查看项目

更新于 10-16 02:00

技能介绍

用途

该技能面向使用 Syncfusion WinForms PDF Viewer 控件的开发者,用于生成可直接插入 WinForms 应用的干净、可运行的 C# 代码片段。

主要能力

技能包含多份参考片段,覆盖以下功能:

  • 加载与查看:view-pdfviewer.md 提供 NuGet 设置、添加 PdfViewerControl/PdfDocumentView、加载 PDF;view-pdf-stream.md 支持通过 FileStream 的 Load(stream) 重载加载。
  • 保存:saving-pdf-files.md 支持通过工具栏保存、使用 LoadedDocument.Save() 编程保存,以及 BeginSave 和 EndSave 事件。
  • 打印:printing-pdf-files.md 支持工具栏打印、使用 Print() 静默打印、自定义打印尺寸(ActualSize、Fit、CustomScale)、打印方向(Auto、Portrait、Landscape)、隐藏打印状态对话框,以及 BeginPrint、PrintProgress、EndPrint 事件。
  • 文本提取:extract-text.md 支持用 ExtractText(pageIndex, out textLines) 提取单页文本、用 PageCount 循环提取整个文件、通过 TextLines/TextLine 提取带行边界的文本、通过 WordCollection/TextWord 提取带边界的单词。
  • 渲染引擎:pdf-rendering-engines.md 支持通过 RenderingEngine 属性切换引擎(默认 PDFium,替代 SfPdf),并可通过 ReferencePath 在受限访问环境中设置自定义 PDFium 二进制路径。
  • 搜索:searching-text.md 支持用 SearchNextText()/SearchPreviousText() 搜索上一/下一处、用 FindText() 查找所有带边界的位置、统计总匹配数、通过 TextSearchSettings.HighlightAllInstance 启用或禁用高亮所有实例、通过 TextSearchSettings.CurrentInstanceColor/OtherInstanceColor 自定义高亮颜色。
  • 导航:navigation.md 涵盖书签导航、超链接处理和页面导航(GoToBookmark()、HyperlinkClicked/HyperlinkMouseOver、GoToPageAtIndex())。
  • 本地化:localization.md 支持本地化工具提示和上下文菜单静态文本、默认 en-US 本地化键表、添加特定文化 Resx 文件(如 Syncfusion.PdfViewer.Windows.fr.resx)、通过 LocalizationManager.SetResources() 设置自定义程序集/命名空间。
  • 主题:themes.md 支持通过 ThemeName 属性应用内置主题(Office2016Colorful、Office2016Black、Office2016DarkGray、Office2016White、Office2019Colorful、HighContrastBlack),通过 SkinManager.LoadAssembly() 加载主题程序集并重置为默认主题。
  • 交互模式:interaction-modes.md 支持通过 CursorMode 属性切换光标模式,PdfViewerCursorMode.SelectTool 用于文本选择(默认),PdfViewerCursorMode.HandTool 用于平移/滚动。
  • 错误处理:error-handling.md 支持订阅 ErrorOccurred 事件,处理 ErrorOccurredEventArgs.Message 以记录错误或向用户显示消息。
  • 缩放:magnifying.md 支持通过 ZoomTo() 缩放到指定百分比、通过 ZoomPercentage 获取当前缩放、通过 ZoomMode 属性切换缩放模式(FitPage、FitWidth)。
  • 文档信息:document-information.md 支持通过 DocumentInformation.FileName 和 DocumentInformation.FilePath 访问已加载 PDF 的文件名和路径,并通过 PageCount 获取页数。
  • 鼠标位置:mouse-position.md 支持处理 PageClicked 和 PageMouseMove 事件,获取相对于 PDF 页面的页面索引和鼠标位置。
  • 托管 WPF PDF Viewer:host-wpf-pdfviewer-in-winforms.md 支持使用 ElementHost 在 WinForms 应用中托管 WPF PdfViewer,以使用注释、表单填充、签名等高级功能。
  • 工具栏:toolbar.md 支持通过 ToolbarSettings.<Button>.IsVisible 显示或隐藏单个工具栏按钮(Open、Save、Zoom、Print、Pan)。

使用方式

触发关键词包括 code、snippet、how to write、Program.cs、show me、sample、integrate、example code、generate code for、create sample、winforms pdfviewer。工作流程为:在生成示例前,先询问用户代码是集成到现有 WinForms 项目还是创建新的 WinForms 应用;若选择新建,再询问目标框架——.NET Framework(如 4.6、4.7、4.8,使用 Syncfusion.PdfViewer.WinForms 并面向经典 .NET Framework)或 .NET/.NET Core(如 .NET 8、.NET 10,使用 Syncfusion.PdfViewer.WinForms 与 net8.0-windows 或所选版本)。根据选择生成带正确目标框架值的 .csproj、添加所需 NuGet 包,并相应调整框架相关代码,如命名空间导入、窗体初始化、启动代码(Program.cs)和 PDF Viewer 设置。只添加满足用户所需功能所必需的 API,不包含可选 API 或额外内容。

适用场景

适用于需要在 WinForms 应用中集成 PDF 查看、保存、打印、文本提取、搜索、导航、本地化、主题、缩放等功能的开发场景,以及需要在 WinForms 中托管 WPF PDF Viewer 以使用注释、表单填充、签名等高级功能的场景。

限制与前提

开发环境需要 Visual Studio 2022 或 Visual Studio insider 2026(推荐用于 .NET 10);.NET Framework 4.5+ 或 .NET Core/.NET 8+;Syncfusion WinForms NuGet 包 Syncfusion.PdfViewer.Windows。其他限制暂未提供。