mcpField
S
syncfusion-dotnet-smart-data-extraction

syncfusion-dotnet-smart-data-extraction

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

关于 syncfusion-dotnet-smart-data-extraction

使用 Syncfusion SmartDataExtractor 为 PDF 和常见图像文件生成结构化数据提取的 C# 代码。支持文档元素、表格、表单和条码,并根据项目类型选择包与代码参考。

主要功能

  1. 01提取文本、图像、页眉和页脚
  2. 02提取表格与表单字段
  3. 03检测条码并提供置信度
  4. 04选择页面或页面范围
  5. 05按置信度阈值筛选结果
  6. 06提供项目适配的包与代码指引

适用场景

  1. 01生成将 PDF 数据导出为 JSON 的代码
  2. 02提取指定页面中的表格
  3. 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.md
references/
data-options.md
document-structure.md
extract-data.md
extract-table.md
nuget-packages.md
recognize-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.mdTableExtractionOptions、FormRecognizeOptions、ConfidenceThreshold、PageRange、ExtractDataAsPdfDocument 的说明

规则

  • 输出文件放在 ./output/ 目录中
  • 不要使用参考资料中未列出的任何 API
  • 推荐或添加程序包时,只能使用 references/nuget-packages.md 中定义的 NuGet 程序包 ID 和版本。
  • 对于仅提取表格的请求,根据检测到的应用类型,只推荐/安装 references/nuget-packages.md 中的表格提取器程序包。

评论

支持 Markdown