关于 syncfusion-dotnet-smart-data-extraction
使用 Syncfusion SmartDataExtractor 为 PDF 和常见图像文件生成结构化数据提取的 C# 代码。支持文档元素、表格、表单和条码,并根据项目类型选择包与代码参考。
主要功能
- 01提取文本、图像、页眉和页脚
- 02提取表格与表单字段
- 03检测条码并提供置信度
- 04选择页面或页面范围
- 05按置信度阈值筛选结果
- 06提供项目适配的包与代码指引
适用场景
- 01生成将 PDF 数据导出为 JSON 的代码
- 02提取指定页面中的表格
- 03识别图像中的表单字段或条码
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ syncfusion/ document-sdk-skills --skill syncfusion-dotnet-smart-data-extraction安装后在 Claude Code 中输入/syncfusion-dotnet-smart-data-extraction确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdreferences/data-options.mddocument-structure.mdextract-data.mdextract-table.mdnuget-packages.mdrecognize-forms.md详细介绍
Smart Data Extractor — Syncfusion
概述
使用 Syncfusion SmartDataExtractor Library 从 PDF 和图像文件中提取完整的文档结构。 此技能支持一种操作模式——为用户的项目生成 C# 代码。
主要功能
- 文档结构提取:识别文本元素、图像、页眉、页脚、表格和条形码(包括区域、标题行、列、单元格边界和合并单元格)。
- 文件格式支持:支持 PDF 文档和 JPEG、PNG 等常见图像格式。
- 表格提取:专门用于提取表格数据。
- 表单识别:检测并处理结构化表单数据。
- 条形码检测:识别并解码条形码,并提供置信度评分。
- 页面级控制:从指定页面或定义的页面范围提取数据。
- 置信度阈值:根据可配置的置信度评分(0.0–1.0)筛选结果。
先决条件
- 运行提取前,请从 NuGet 安装所需的运行时和库包。
快速入门示例
示例:生成代码
用户:“编写 Program.cs 代码,使用 SmartDataExtractor 从 pdf 提取数据并保存为 JSON。” **结果:**显示 C# 代码片段(不创建文件)
一种模式
模式 1:生成 C# 代码并更新项目文件 (默认)
当用户希望查看、编写、审查、重构或修改与 Smart Data Extractor 处理相关的 C# 代码时,使用此模式。 触发关键词:“show me how”“how to”“how can I”“how do I”“provide code”“provide an example”“give an example”“demonstrate”“code snippet”“sample code”“example”“sample”“give me”“show me”“Program.cs”“example code”“generate code for”“codesnippet”。
工作流:
步骤 1 — 检测应用程序类型并确定所需的 NuGet 包
- 检查工作区项目文件(
.csproj、web.config、App.config、Startup.cs、Program.cs等),并使用references/nuget-packages.md中的检测信号表确定应用程序类型。 - 根据检测到的应用程序类型,从
references/nuget-packages.md中确定正确的 NuGet 包。仅使用references/nuget-packages.md中列出的包 ID 和版本——不要从外部来源或常见命名惯例中推荐、查找或推断包名。 - 注意:如果用户明确只要求提取表格数据,则只推荐
references/nuget-packages.md中列出的 Table Extractor 包,并查看检测到的应用程序类型对应的 ExtractTable 部分。除非用户要求非表格提取或 JSON 转换功能,否则不要推荐或添加更广泛的SmartDataExtractor包。
步骤 2 — 将所需的 NuGet 包添加到 .csproj
- 更新项目
.csproj文件,在<ItemGroup>部分使用<PackageReference>标签添加已确定的 NuGet 包 - 使用
references/nuget-packages.md中的准确包名和版本
步骤 3 — 仅根据参考文件生成代码
不要编造、猜测或建议参考文件中未明确列出的任何 API、方法、属性、类或命名空间。
- 阅读与所请求功能相关的
references/*.md文件 - 严格根据这些文件中的 API 和代码片段编写 C# 代码
- 根据步骤 1 中检测到的应用程序类型选择正确的代码片段变体:
- Windows 专用应用(WinForms、WPF、.NET Framework Console)→ 使用 Windows 专用代码片段
- 跨平台应用(ASP.NET Core、.NET Core/.NET 5+ Console、Blazor、MAUI)→ 使用跨平台 /
.Net.Core代码片段
步骤 4 — 使用生成的代码更新 Program.cs
- 将
Program.cs的全部内容替换为生成的 C# 代码 - 确保包含所有必需的
using语句 - 不要创建或运行任何
.csx脚本
代码参考
所有模板和代码片段都在 references/ 文件夹中:
| 文件 | 内容 |
|---|---|
| document-structure.md | 快速提取器的设置与使用代码片段 |
| extract-data.md | 示例:ExtractDataAsJson、ExtractDataAsMarkdown、ExtractDataAsPdfStream、ExtractDataAsPdfDocument、ExtractDataAsMarkdownDocument、ExtractDataAsWordDocument、ExtractDataAsHtml,以及异步变体 |
| extract-table.md | 表格提取示例(ExtractTableAsJson、ExtractTableAsMarkdown) |
| recognize-forms.md | 表单字段识别示例:FormRecognizeOptions、RecognizeFormAsPdfDocument、RecognizeFormAsPdfStream、RecognizeFormAsJson 异步变体 |
| data-options.md | TableExtractionOptions、FormRecognizeOptions、ConfidenceThreshold、PageRange、ExtractDataAsPdfDocument 的说明 |
规则
- 输出文件放在
./output/目录中 - 不要使用参考资料中未列出的任何 API
- 推荐或添加程序包时,只能使用
references/nuget-packages.md中定义的 NuGet 程序包 ID 和版本。 - 对于仅提取表格的请求,根据检测到的应用类型,只推荐/安装
references/nuget-packages.md中的表格提取器程序包。