mcpField
S
syncfusion-dotnet-smart-data-extraction

syncfusion-dotnet-smart-data-extraction

github.com/syncfusionDocuments298 installsUpdated 1w ago
Repository

About syncfusion-dotnet-smart-data-extraction

A skill that generates C# code for extracting structured data from PDFs and common image files with Syncfusion SmartDataExtractor. It supports document elements, tables, forms, and barcodes, and selects package and code references based on the project type.

Key features

  1. 01Extract text, images, headers, and footers
  2. 02Extract tables and form fields
  3. 03Detect barcodes with confidence scores
  4. 04Select pages or page ranges
  5. 05Filter results by confidence threshold
  6. 06Project-specific package and code guidance

Use cases

  1. 01Generate code to export PDF data as JSON
  2. 02Extract tables from selected document pages
  3. 03Recognize form fields or barcodes in images

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/syncfusion/document-sdk-skills --skill syncfusion-dotnet-smart-data-extraction

After installing, type/syncfusion-dotnet-smart-data-extractionin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

README.md
references/
data-options.md
document-structure.md
extract-data.md
extract-table.md
nuget-packages.md
recognize-forms.md

Details

From the project README

Smart Data Extractor — Syncfusion

Overview

Extracts complete document structures from PDFs and images files using the Syncfusion SmartDataExtractor Library. This skill supports one operational mode — generating C# code for the user's project.

Key Capabilities

  • Document structure extraction: Identify text elements, images, headers, footers, tables, and barcodes (including regions, header rows, columns, cell boundaries, merged cells).
  • File format support: Works with PDF documents and common image formats such as JPEG and PNG.
  • Table extraction: Specialized capability to extract tabular data.
  • Form recognition: Detects and processes structured form data.
  • Barcode detection: Identifies and decodes barcodes with confidence scoring.
  • Page-level control: Extract data from specific pages or defined page ranges.
  • Confidence threshold: Results are filtered based on a configurable confidence score (0.0–1.0).

Prerequisites

  • Install required runtime and library packages from NuGet before running extraction.

Quick Start Examples

Example : Generate Code

User: "Write Program.cs code to extract the data from pdf and save as JSON using SmartDataExtractor." Result: C# code snippet displayed (no files created)

One Mode

Mode 1: Generate C# Code and Update Project Files (default)

Use this mode when the user wants to view, write, review, refactor, or modify C# code related to Smart Data Extractor processing. Trigger keywords: "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" .

Workflow:

Step 1 — Detect Application Type and Identify Required NuGet Packages
  • Inspect the workspace project files (.csproj, web.config, App.config, Startup.cs, Program.cs, etc.) and use the detection signals table in references/nuget-packages.md to determine the application type.
  • Based on the detected application type, identify the correct NuGet package(s) from references/nuget-packages.md. ONLY use package IDs and versions listed in references/nuget-packages.md — do not suggest, look up, or infer package names from external sources or common naming conventions.
  • Note: If the user's request is explicitly table-only (asks only to extract table data), recommend only the Table Extractor package listed in references/nuget-packages.md and review the ExtractTable section for the detected application type. Do not recommend or add the broader SmartDataExtractor package unless the user requests non-table extraction or JSON conversion features.
Step 2 — Add Required NuGet Packages to .csproj
  • Update the project .csproj file by adding the identified NuGet packages to the <ItemGroup> section using <PackageReference> tags
  • Use exact package names and versions from references/nuget-packages.md
Step 3 — Generate Code from Reference Files Only

Do NOT invent, guess, or suggest any API, method, property, class, or namespace not explicitly present in the reference files.

  • Read the relevant references/*.md file(s) for the requested feature
  • Build C# code strictly from the APIs and snippets found in those files
  • Select the correct snippet variant based on the app type detected in Step 1:
    • Windows-specific apps (WinForms, WPF, .NET Framework Console) → use Windows-specific snippets
    • Cross-platform apps (ASP.NET Core, .NET Core/.NET 5+ Console, Blazor, MAUI) → use cross-platform / .Net.Core snippets
Step 4 — Update Program.cs with Generated Code
  • Replace the entire contents of Program.cs with the generated C# code
  • Ensure all necessary using statements are included
  • Do not create or run any .csx script


Code References

All templates and snippets are in the references/ folder:

FileContents
document-structure.mdQuick extractor setup and usage snippets
extract-data.mdExamples: ExtractDataAsJson, ExtractDataAsMarkdown, ExtractDataAsPdfStream, ExtractDataAsPdfDocument, ExtractDataAsMarkdownDocument, ExtractDataAsWordDocument, ExtractDataAsHtml, async variants
extract-table.mdTable extraction examples (ExtractTableAsJson, ExtractTableAsMarkdown)
recognize-forms.mdrecognize form fields examples : FormRecognizeOptions, RecognizeFormAsPdfDocument,RecognizeFormAsPdfStream, RecognizeFormAsJson async variants
data-options.mdExplanation of TableExtractionOptions, FormRecognizeOptions, ConfidenceThreshold , PageRange , ExtractDataAsPdfDocument

Rules

  • Output files go in ./output/ directory
  • Don't use any API which is not in reference
  • Only use NuGet package IDs and versions defined in references/nuget-packages.md when recommending or adding packages.
  • For table-only extraction requests, recommend/install only the table extractor package from references/nuget-packages.md for the detected application type.

Comments

Markdown supported