syncfusion-dotnet-smart-data-extraction について
Syncfusion SmartDataExtractor を使い、PDF や一般的な画像ファイルから構造化データを抽出する C# コードを生成するスキルです。文書要素、表、フォーム、バーコードに対応し、プロジェクト種別に応じてパッケージとコード例を選びます。
主な機能
- 01テキスト、画像、ヘッダー、フッターの抽出
- 02表とフォームフィールドの抽出
- 03信頼度スコア付きバーコード検出
- 04ページまたはページ範囲の指定
- 05信頼度しきい値による結果の絞り込み
- 06プロジェクト別のパッケージとコード案内
活用シーン
- 01PDF データを 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# コードを生成する 1 つの運用モードをサポートします。
主な機能
- ドキュメント構造の抽出:テキスト要素、画像、ヘッダー、フッター、表、バーコードを識別します(領域、ヘッダー行、列、セル境界、結合セルを含む)。
- ファイル形式のサポート:PDF ドキュメントと、JPEG や PNG などの一般的な画像形式に対応します。
- 表の抽出:表形式のデータを抽出するための専用機能です。
- フォーム認識:構造化フォームデータを検出して処理します。
- バーコード検出:信頼度スコアを付けてバーコードを識別し、デコードします。
- ページ単位の制御:特定のページまたは指定したページ範囲からデータを抽出します。
- 信頼度のしきい値:設定可能な信頼度スコア(0.0~1.0)に基づいて結果をフィルタリングします。
前提条件
- 抽出を実行する前に、必要なランタイムとライブラリのパッケージを NuGet からインストールしてください。
クイックスタートの例
例:コードの生成
ユーザー:「SmartDataExtractor を使用して PDF からデータを抽出し、JSON として保存する Program.cs のコードを書いてください。」 **結果:**C# コードスニペットを表示(ファイルは作成されません)
1 つのモード
モード 1:C# コードを生成してプロジェクトファイルを更新する (デフォルト)
ユーザーが Smart Data Extractor の処理に関連する C# コードの閲覧、作成、レビュー、リファクタリング、変更を希望する場合に、このモードを使用します。 トリガーキーワード:「見せて」「方法を教えて」「どうすれば」「どのようにすれば」「コードを提示して」「例を提示して」「例を挙げて」「実演して」「コードスニペット」「サンプルコード」「例」「サンプル」「教えて」「見せて」「Program.cs」「コード例」「~のコードを生成して」「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 に追加する
- 識別した NuGet パッケージを
<PackageReference>タグを使用して<ItemGroup>セクションに追加し、プロジェクトの.csprojファイルを更新します。 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 とバージョンのみを使用してください。 - テーブルのみの抽出リクエストでは、検出されたアプリケーションタイプに対応するテーブル抽出パッケージのみを推奨/インストールしてください。