mcpField
S
syncfusion-aspnetmvc-pdf-viewer

syncfusion-aspnetmvc-pdf-viewer

github.com/syncfusion文档处理249 次安装6 周前更新
代码仓库

关于 syncfusion-aspnetmvc-pdf-viewer

syncfusion-aspnetmvc-pdf-viewer 是为 ASP.NET MVC 项目生成可直接集成的 PDF Viewer 示例代码的技能。它按需求查找参考文件,并将生成内容限制在已记录的 API 和属性范围内。

主要功能

  1. 01生成 Razor 与 HTML 示例
  2. 02按功能路由至参考文件
  3. 03仅使用文档记录的 API
  4. 04规定不支持功能的答复
  5. 05提供设置代码组织指引

适用场景

  1. 01创建 ASP.NET MVC PDF Viewer 示例
  2. 02添加有文档说明的查看器功能
  3. 03核实请求的 API 是否有文档记录

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/syncfusion/pdf-viewer-sdk-skills --skill syncfusion-aspnetmvc-pdf-viewer

安装后在 Claude Code 中输入/syncfusion-aspnetmvc-pdf-viewer确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
references/
annotation-events.md
annotation-operations.md
annotation-overview.md
annotation-settings.md
annotation-use-cases.md
api-methods.md
bookmark-navigation.md
contextmenu.md
enable-properties.md
events.md
form-field-events.md
form-field-settings.md
form-field-validation.md
form-fields-overview.md
form-fields-props.md
form-operations.md
free-text-annotations.md
general-properties.md
getting-started.md
import-export-form-data.md
magnification.md
measurement-annotations.md
navigation.md
opening-pdfs.md
printing-and-organizing.md
redaction-annotation.md
saving-and-downloading.md
shape-annotations.md
shape-label-settings.md

详细介绍

Syncfusion ASP.NET MVC Pdfviewer – UI 示例生成器

NuGet: Syncfusion.EJ2.MVC5

为用户的项目生成代码 (默认)

触发关键词:“how to”“add pdfviewer”“code sample”“show me”“example”“snippet”“integrate”“component”“create sample”“ASP.NET MVC sample”。

**用途:**生成简洁、可直接复制粘贴的 Razor + HTML 代码(.cshtml),供用户直接集成到 ASP.NET MVC 项目中。

工作流: ⚠️ 严重警告 — 功能支持政策(严格模式):

**基本规则:**只能使用参考文件中明确列出的 API 和属性生成代码。任何偏离都属于违规。

  • 生成任何代码之前必须执行以下检查:

    1. 在参考文件中搜索准确的 API/属性名称
    2. 确认其出现在方法参考、属性或事件表中
    3. 如果任何参考文件中都未找到,立即停止
    4. 在任何情况下都不得生成或建议未记录的 API
  • 严格执行 — 零容忍:

    • 不得使用自定义属性——只能使用参考文件表格中列出的属性
    • 不得编造方法——只能使用参考文件表格中列出的方法
    • 不得使用未定义的 API 进行变通——禁止
    • 不得假设未记录的行为——禁止
    • 不得凭猜测提供替代实现——禁止
    • 不得假装功能受支持——禁止
  • 不支持功能时必须这样回复:

    • 如果参考文件中没有列出用户请求的场景/功能/API,必须回复:
      "This feature is not supported in the current Syncfusion ASP.NET MVC PDF Viewer implementation."
      
    • 然后列出相应参考文件中列出的受支持内容
    • 除非参考文件中有明确记录,否则绝不提供替代方案
  • 参考文件层级:

    • 每个参考文件都包含其领域完整且权威的文档
    • 表格(方法参考、属性、事件)是唯一可信来源
    • 参考文件中这些表格以外的内容仅作说明
    • 不得超出参考文件表格中列出的内容
  • 审查生成内容:

    • 提供代码之前,确认所用的每个 API 都出现在参考文件表格中
    • 记录每个 API 来自哪个参考文件
    • 如果无法引用参考文件中的表格条目,则删除相应代码
  • **这是严重要求。**违规会损害此技能的完整性和可靠性。

步骤 1 — 仅根据参考文件生成代码 (必需)
  • 阅读与请求功能相关的 references/*.md 文件
  • 对照这些表格逐一核实每个 API、属性和方法
  • **必须:**生成任何代码之前,确认参考文件存在且可以访问
  • 阅读与请求功能相关的参考文件:
    • 使用 read_file 工具读取相关的 references/*.md 文件
    • 确认文件包含方法/属性/事件表
    • 确认表格完整且可读
  • 如果参考文件缺失或无法读取:
    • 停止生成代码
    • 回复:“此功能的参考文件不可用。请确保 references/ 目录中包含所有参考文件。”
    • 列出缺失的参考文件名称
  • **这是阻断步骤:**未完成参考文件验证,不得继续
  • 如果参考文件表格中没有列出某个 API/属性,则不得使用
  • 不得编造、猜测或建议参考文件中未明确列出的任何 API、方法、属性、类或命名空间

⚙️ 设置配置最佳实践

使用设置(toolbarSettings、annotationSettings、annotationSelectorSettings、arrowSettings、rectangleSettings 等)生成代码时,请遵循以下指南,避免不必要的导入和过度设计:

规则 1:简单设置 → 定义为 Razor 内联代码

适用于以下情况:

  • 只配置 1-3 个属性
  • 设置简单,无需自定义类型

示例(请这样做):

@Html.EJS().PdfViewer("pdfviewer").AnnotationSelectorSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerAnnotationSelectorSettings { ResizerBorderColor = "green", SelectionBorderColor = "blue", ResizerFillColor = "#4070ff", resizerSize = 8, SelectionBorderThickness = 1, SelectorLineDashArray = new int[] { 5, 6 }, ResizerLocation = "Corners|Edges", ResizerCursorType = "grab" }).Render()

优点:

  • ✅ 简单易读
  • ✅ 减少代码冗余
  • ✅ 仍然支持类型检查

规则 2:复杂设置 → 在 HTML 外部定义为 Razor 代码块

适用于以下情况:

  • 配置 4 个或更多属性,或多个相关设置
  • 使用枚举或复杂配置
  • 需要在多个组件中重复使用相同配置
  • 设置足够复杂,适合单独定义

示例(仅适用于复杂情况):

@{
    var annotationSelectorSettings = new {
        selectionBorderColor = "blue",
        resizerBorderColor = "red",
        resizerFillColor = "#4070ff",
        resizerSize = 8,
        selectionBorderThickness = 1,
        resizerShape = "Circle",
        selectorLineDashArray = new int[] { 5, 6 },
        resizerLocation = "Corners|Edges",
        resizerCursorType = "grab"
    };
}
@Html.EJS().PdfViewer("pdfviewer").AnnotationSelectorSettings(annotationSelectorSettings).Render()

规则 3:切勿让简单情况过度复杂

❌ 不要这样做(过度设计):

@{
    var toolbarSettings = new Syncfusion.EJ2.PdfViewer.PdfViewerToolbarSettings  { ShowTooltip = true };
}
@Html.EJS().PdfViewer("pdfviewer").ToolbarSettings(@toolbarSettings).Render()

✅ 应该这样做(简单清晰):

@Html.EJS().PdfViewer("pdfviewer").ToolbarSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerToolbarSettings  { ShowTooltip = true }).Render()

参考文件路由指南

所有模板和操作代码片段都位于 references/*.md。每个文件都包含一个专用代码片段或模板,Agent 会在生成示例时将其组合起来。

流程: 始终从 getting-started.md 开始,然后将匹配的功能合并到其中的锚点(PROPS、EVENTS、UI_BUTTONS、HANDLERS)。如果没有匹配的关键词,则仅返回基本示例。

生成代码前的检查清单
  • 统计设置属性的数量: 1-3 个?→ 使用内联定义 | 4 个或更多?→ 使用单独的 Razor 代码块
  • 组件属性是否足够简单? 是 → 保持内联定义 | 否 → 提取到单独的 Razor 代码块
  • 是否已为属性显式设置 Default 值? 是 → 移除 | 否 → 保留
🎯 MVC 设置与配置
文件用途
getting-started.md最小化 PDF 查看器,包含 documentPath、height 和 width。所有示例的基础模板。
enable-properties.md启用或禁用特定功能(工具栏、批注、表单、导航、文本选择、下载、打印)。
general-properties.md配置查看器的核心属性和行为(documentPath、width/height、locale、zoom/initialRenderPages)、服务端/集成设置(serviceUrl、ajaxRequestSettings、serverActionSettings)、资源加载(resourceUrl、customFonts)以及性能/重试选项。
上下文菜单
文件用途
contextmenu.md为文本、批注和表单字段提供上下文相关的上下文菜单;通过 addCustomMenu 添加自定义项,使用 customContextMenuSelect 处理点击,通过 customContextMenuBeforeOpen 动态显示或隐藏项,并使用 contextMenuOption 禁用菜单。使用上下文菜单设置配置默认上下文菜单。
导航功能
文件用途
navigation.md启用或禁用页面导航(首页/末页/上一页/下一页/跳转到指定页面)、缩略图视图与导航、超链接支持(内部和外部链接)、目录导航、编程式导航方法以及导航相关事件。
bookmark-navigation.md启用或禁用并显示或隐藏书签导航。以编程方式获取文档的书签
MVC 查看与交互
文件用途
viewing-and-interaction.md了解交互模式(文本选择/平移)、页面滚动和查看行为、平移操作、模块化架构中的功能模块、启用或禁用特定查看功能,以及 MVC 查看功能。
magnification.md配置缩放级别和缩放百分比、缩放模式(适合页面/适合宽度/适合可视区域/自动)、自定义缩放控件、编程式缩放操作、缩放工具栏配置以及鼠标滚轮缩放行为。
工具栏配置
文件用途
toolbar-customization.md自定义 PDF 查看器主工具栏、表单设计器工具栏和注释工具栏。以编程方式启用/禁用工具栏、启用/禁用和显示/隐藏工具栏项。列出工具栏可用的工具栏项。在初始化期间启用/禁用表单设计器、注释或主工具栏。创建自定义工具栏项
toolbar-reference.md使用工具栏 API 方法/属性显示/隐藏主工具栏/注释工具栏/导航工具栏/涂黑工具栏。
toolbar-customization-scenarios.md常见的工具栏自定义场景
注释和标记
文件用途
annotation-overview.md有关墨迹/手绘、便笺/评论、手写/数字签名注释以及以编程方式添加这些注释的信息。注释类型概览和常见默认注释设置示例
text-markup-annotations.md以编程方式添加文本标记注释(高亮、下划线、删除线、波浪线)。修改各类文本标记注释的默认设置
shape-annotations.md有关形状注释(直线、箭头、矩形、圆形、多边形)的信息。以编程方式添加形状注释并修改各类形状注释的默认设置
measurement-annotations.md有关测量注释(距离、周长、面积、半径、体积)的信息。以编程方式添加测量注释并修改各类测量注释的默认设置
stamp-annotation.md有关图章注释及可用的不同图章类型的信息。以编程方式添加图章注释
free-text-annotations.md有关自由文本注释的信息。以编程方式添加自由文本注释
annotation-settings.md配置所有注释类型的外观(颜色、不透明度、边框、样式)和行为(限制、锁定、打印)。全局应用设置或按注释类型应用设置。自定义注释选择器(调整大小控件、选择边框)。设置作者、主题和自定义数据。控制注释相关的组件属性(工具栏可见性、签名设置、导出选项、绘制限制)。
annotation-events.md处理注释生命周期事件(添加、删除、移动、调整大小、选择、属性更改)。
annotation-operations.md以编程方式操作注释,例如选择、移动和调整大小、删除、锁定,以及导入和导出注释
annotation-use-cases.md有关如何以编程方式操作注释的常见场景
shape-label-settings.md配置形状和测量注释标签的外观(填充颜色、字体、字号、不透明度)和默认内容(标签文本、备注)。
redaction-annotation.md隐藏并永久移除 PDF 中的敏感信息。按区域或整页标记内容,配置覆盖文本和样式,不可逆地应用涂黑,搜索文本并自动涂黑,以及以编程方式管理涂黑注释。
表单管理
文件用途
form-fields-overview.md填写和设计 PDF 表单,管理表单字段(文本框/密码框/复选框/单选框/下拉列表/列表框/签名等字段类型),以编程方式创建字段,使用表单设计器工具栏/UI 交互,配置字段属性/自定义设置,应用验证规则和约束/设置,使用表单字段 API 方法,以及处理表单数据(包括自定义字段数据)的导入/导出。
supported-form-fields.md支持的表单字段类型,以及如何以编程方式添加各类字段
form-fields-props.md列出表单字段的属性,包括通用属性和各字段的专属属性。修改表单字段设置
import-export-form-data.md以编程方式导入和导出表单字段数据
form-operations.md以编程方式操作表单字段,包括更新属性和值、移动和调整大小、删除、分组、添加自定义数据以及获取表单字段数据
form-field-validation.md启用/禁用表单字段验证。表单字段验证的编程流程和示例
form-field-settings.md配置表单字段(文本、复选框、单选框、下拉列表、签名)的默认属性。
form-field-events.md处理表单字段交互事件(聚焦、失焦、值更改、验证)。
文本操作
文件用途
text-search.md在 PDF 中实现文本搜索:搜索功能、搜索选项(区分大小写/全词匹配)、突出显示搜索结果、查找下一个/上一个匹配项、以编程方式搜索文本的方法、搜索完成事件以及自定义突出显示颜色。配置文本提取选项/设置,并以编程方式从页面提取文本。
text-selection.md启用文本选择和文本提取:选择模式/行为、复制所选文本、文本选择事件、以编程方式选择文本,以及文本集合/边界。
文档操作
文件用途
opening-pdfs.md从 URL/本地路径/base64 加载 PDF,打开加密/受密码保护的 PDF,支持以编程方式加载文档,处理文档加载事件/生命周期,以及管理加载失败/错误。
saving-and-downloading.md下载 PDF,保存带批注/修改内容的 PDF,下载包含表单数据的 PDF,将 PDF 获取为 base64,自定义下载事件,以及设置自定义下载文件名。
printing-and-organizing.md打印 PDF(包括页面范围/质量等打印选项和静默打印),处理打印事件,整理页面(概览/调整位置/重新排序/旋转/删除),将页面复制/重复/提取到新文档,并使用页面整理工具栏以编程方式和在移动设备上整理页面。
⚙️ 高级功能
文件用途用户咨询以下内容时查阅
api-methods.md以编程方式控制:加载文档、管理表单和批注、提取文本、撤销/重做、导航 API。“以编程方式加载 PDF”、“API 方法”、“导出表单数据”、“提取文本”、“撤销/重做”、“以编程方式控制”
events.mdPDFViewer 事件完整列表(文档加载、下载、批注、表单、搜索、导航)。“事件列表”、“所有事件”、“可用事件”、“事件参考”、“事件处理程序”

评论

支持 Markdown