syncfusion-dotnet-pdf について
Syncfusion PDF Library で PDF 文書を処理するスキルです。プロジェクト向けの C# コード生成と CSX スクリプトの直接実行に対応し、作成、編集、抽出、変換、フォームやセキュリティの操作を行えます。
主な機能
- 01C# コード生成または CSX スクリプト実行
- 02PDF 文書の作成と編集
- 03テキスト・画像の抽出と OCR
- 04PDF の変換、結合、分割、圧縮
- 05フォーム、署名、セキュリティの管理
活用シーン
- 01テキスト、画像、表から PDF を生成
- 02PDF からテキストや画像を抽出
- 03フォーム入力、署名、保護の適用
- 04PDF 文書の変換や結合
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ syncfusion/ document-sdk-skills --skill syncfusion-dotnet-pdfインストール後、Claude Code で/syncfusion-dotnet-pdfを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdreferences/accessible-pdf.mdactions.mdannotations.mdattachments.mdbarcode.mdbookmarks.mdbrushes.mdcolorspace.mdcompress-pdf.mdconformance.mdconversions.mddigital-sign.mddocument-structure.mdextract-image.mdextract-text.mdheaders-and-footers.mdhyperlinks.mdimages.mdimport-export-annotation.mdimport-export-form.mdlayers.mdmerge-pdf.mdmetadata.mdnamed-destinations.mdocr.mdopen-pdf.mdpages.mdpdf-forms.mdpdf-graphics.md詳細
PDF ドキュメント処理
概要
Syncfusion PDF Library を使用して、PDF ファイルの作成、読み取り、書き込み、変換を行います。このスキルには、ユーザーのプロジェクト用の C# コードを生成するモードと、CSX スクリプトを介してタスクを直接実行するモードの 2 つがあります。
主な機能
- 作成と編集: PDF ファイルをゼロから作成し、テキスト、画像(さまざまな形式)、表、図形、段落、見出し、スタイル、リスト、ハイパーリンク、ブックマーク、ヘッダー/フッター、透かしを追加できます。また、テンプレート管理やメタデータ編集も可能です。
- フォームとインタラクティブ要素: フォーム(AcroForms と XFA)、ブックマーク、注釈、添付ファイル、ボタン、コンテンツコントロールを作成、入力、フラット化できます。
- 高度な機能: コメント、レイヤー(追加、削除、フラット化)、PDF ポートフォリオ、JavaScript の実行、3D モデルの埋め込みと操作、リッチメディアコンテンツ(音声/動画)、光学文字認識(Tesseract エンジン)、テキストの墨消し、画像の墨消し、デジタル署名と検証に対応しています。
- 変換: SVG から PDF への変換、XPS から PDF への変換、PDF の PDF/A 準拠変換
- 抽出: PDF ドキュメントからテキストと画像を抽出します。
- セキュリティ: パスワードによる暗号化/復号、高度な暗号化規格、編集可能な範囲を指定したドキュメント保護、マクロ管理、デジタル署名機能
- バーコードと規格: 1D バーコード、2D バーコード、ZUGFeRD インボイスへの対応、PDF/A-1B、PDF/A-1A、PDF/A-2B、PDF/A-2A、PDF/A-2U、PDF/A-3B、PDF/A-3A、PDF/A-3U、PDF/A-4、PDF/A-4E、PDF/A-4F、PDF/X1-A 準拠、Section 508 に準拠したアクセシブル PDF/タグ付き PDF(PDF/UA)
- その他の操作: PDF ファイルの結合と分割、既存の PDF ファイルの読み込みと変更、PDF ファイルの圧縮、破損した PDF の検出
クイックスタートの例
例 1:コードを生成する(モード 1)
ユーザー:「タイトル、見出し、段落を含む PDF を作成する C# コードを見せてください。」 結果: C# コードスニペットが表示されます(ファイルは作成されません)。
例 2:タスクを実行する(モード 2)
ユーザー:「会議の議題ドキュメントを生成して、output/agenda.pdf に保存してください。」
結果: 指定したパスにファイルが作成されます。
2 つのモード — ユーザーの意図に応じて選択
モード 1:ユーザーのプロジェクト用の C# コードを生成する(デフォルト)
トリガーとなるキーワード:「code」、「snippet」、「how to write」、「Program.cs」、「show me」、「sample」、「example code」、「generate code for」。
ワークフロー:
references/*.mdファイルのスニペットを使って C# コードを作成し、プレースホルダーを実際の内容に置き換えます。- コードをユーザーのプロジェクトファイル(例:
Program.cs)に直接追加します。 .csxスクリプトを作成したり、実行したりしないでください。
注:クロスプラットフォームのプロジェクトでは、System.Drawing ではなく Syncfusion.Drawing 名前空間を使用してください。これにより、Windows、macOS、Linux 間の互換性が確保されます。
注:Syncfusion.Pdf.Net.Core パッケージを提案する場合、クロスプラットフォーム互換性を確保するため、グラフィックス操作には System.Drawing ではなく Syncfusion.Drawing 名前空間を使用する必要があります。Syncfusion.Pdf.Net.Core パッケージは、異なるプラットフォーム間で一貫した描画操作 API を提供する Syncfusion.Drawing 名前空間と連携するように設計されています。System.Drawing は GDI+ に依存しており、Windows 以外では完全にサポートされていないため、特に Windows 以外のプラットフォームでは互換性の問題が発生する可能性があります。そのため、クロスプラットフォーム環境で PDF のグラフィックスを扱う場合は、必ず Syncfusion.Drawing を使用してください。
注:RectangleF、PointF、SizeF、または Color 型が必要な場合は、クロスプラットフォーム互換性のために、System.Drawing の型ではなく Syncfusion.Drawing 名前空間の型を使用してください。これにより、GDI+ に依存せず、Windows、macOS、Linux でコードが正しく動作します。
モード 2:CSX スクリプトで実行(プロジェクトファイルには触れません)
トリガーキーワード:「PDF ドキュメントを作成」「ドキュメントを作成」「ドキュメントを生成」「開く」「編集」「変更」「修正」などの .pdf ファイルに関する指示、「プロジェクトを変更せずに」「csx スクリプトを実行」、またはユーザーがファイルパス(例:output/report.pdf)を指定した場合。
ワークフロー:
references/template.csxをベースとして、OCR 固有の操作にはreferences/template-ocr.csxを使用し、{skill-root}/syncfusion-dotnet-pdf/scripts/temp-{timestamp}.csxを作成します。例:skill-root=.github/skills。references/*.mdのスニペットから必要な操作を追加し、プレースホルダーを実際の内容に置き換えます。- 実行します:
dotnet script {skill-root}/syncfusion-dotnet-pdf/scripts/temp-{timestamp}.csx - 実行後、一時スクリプトを削除します。
- SUCCESS/ERROR を報告し、出力ファイルのパスを示します。
注:この csx スクリプトでは、System.Drawing ではなく Syncfusion.Drawing 名前空間を使用してください。
コードリファレンス
すべてのテンプレートとスニペットは references/ フォルダーにあります。
| ファイル | 内容 |
|---|---|
| template.csx | コア CSX スクリプトテンプレート(モード 2 で使用) |
| document-structure.md | ドキュメントのライフサイクル:作成、保存、クローズ、セクション、ページ設定 |
| open-pdf.md | ファイルストリーム、バイト配列、暗号化ファイル、破損したドキュメント、クラウドストレージ(Azure Blob、AWS S3、Google Drive、Google Cloud Storage、Dropbox)から既存の PDF を開く |
| save-pdf.md | 新規および読み込み済みの PDF をファイルパス、MemoryStream、バイト配列、クラウドストレージ(Azure Blob、AWS S3、Google Drive、Google Cloud Storage、Dropbox)に保存 |
| pages.md | ページの追加、挿入、削除、回転、並べ替え、インポート、設定。ページ数、空白ページの検出、ページラベル、セクション番号、PageAdded イベント、ページ単位の操作 |
| pdf-graphics.md | PdfGraphics の操作:テキスト、画像、図形 |
| shapes.md | 図形の描画:線、長方形、楕円、多角形、弧、ベジェ曲線、パス |
| brushes.md | 単色、線形グラデーション、放射状グラデーション、タイル、ハッチングブラシによる図形の塗りつぶし。PdfBrushes の静的カラー。ペンとブラシの組み合わせ |
| images.md | ラスター画像(JPEG、PNG、BMP、GIF、TIFF、ICO)の挿入、描画、置換、削除、クリッピング、変形、ページ分割。画像マスキング、複数ページ TIFF の PDF への変換、画像配置時の単位変換 |
| text.md | 標準、TrueType、OpenType、CJK フォントを使用したテキストの描画。配置、RTL、複雑なスクリプト、HTML スタイル付きテキスト、複数列、ページ分割されたテキストフロー、順序付き/順序なしリスト、文字列の測定、テキストのクリッピング検出、単位変換 |
| conversions.md | 直接描画 API ではなくコンバーター API が必要となる複雑な HTML から PDF への変換など、シナリオ別の変換ガイダンス |
| merge-pdf.md | 複数の PDF を 1 つのファイルに結合 |
| split-pdf.md | 1 つの PDF を複数のファイルに分割 |
| compress-pdf.md | PDF のファイルサイズを縮小・最適化 |
| extract-text.md | PDF からテキストコンテンツを取得し、PDF 内のテキストを検索 |
| extract-image.md | PdfPageBase と PdfDocumentExtractor を使用して、PDF のページおよびドキュメント全体から画像と画像のメタデータ(境界、インデックス)を抽出 |
| ocr.md | Tesseract を使用してスキャン済み PDF と画像に OCR を実行。領域 OCR、回転ページ、レイアウト結果、ページ分割モード、エンジンモード、画像補正、ホワイトリスト/ブラックリスト、Unicode、画像から PDF への変換に対応 |
| tables.md | PdfGrid を使用して PDF 内にテーブルを作成 |
| headers-and-footers.md | 自動フィールドと動的コンテンツを使用したヘッダーとフッターの追加 |
| bookmarks.md | PDF ブックマーク(アウトラインナビゲーション)の作成と管理 |
| attachments.md | PDF 内のファイル添付の追加、管理、抽出 |
| security.md | パスワードと権限を使用した PDF の暗号化と保護 |
| actions.md | PDF へのインタラクティブなアクション、トリガー、JavaScript の追加 |
| hyperlinks.md | PdfTextWebLink、PdfDocumentLinkAnnotation、PdfFileLinkAnnotation を使用した Web URL リンク、ドキュメント内ナビゲーション、外部ファイルリンクの追加 |
| watermarks.md | 透明度と回転を指定したテキストおよび画像の透かしの追加 |
| portfolio.md | 複数のファイルを埋め込んだ PDF ポートフォリオの作成 |
| layers.md | PDF 内のレイヤー(オプショナルコンテンツ)の作成と管理 |
| metadata.md | ドキュメントおよび画像の XMP メタデータの操作。プロパティスキーマとカスタムフィールド |
| redact.md | 墨消しの例と使い方(テキスト/画像/パターン/正規表現ベースの墨消し) |
| digital-sign.md | デジタル署名の例:基本的な署名から高度な署名(TSA、LTV、外部署名)まで |
| import-export-annotation.md | 注釈のインポートとエクスポート(FDF、XFDF、JSON):ファイル、ストリーム、往復処理のワークフロー |
| pdf-forms.md | AcroForm フィールド(テキストボックス、コンボボックス、ラジオボタン、リストボックス、チェックボックス、署名、ボタン)の作成、入力、変更、フラット化、管理。フィールドプロパティ、表示設定、読み取り専用、自動命名、複雑なスクリプト、外観について説明 |
| import-export-form.md | AcroForm フィールドデータのインポートとエクスポート(FDF、XFDF、JSON):入力、エクスポート、往復処理、フラット化 |
| annotations.md | PDF 注釈(ポップアップ、フリーテキスト、線、スタンプ、インク、マークアップ、URI、墨消し、雲形の境界線など)の追加、変更、削除、フラット化 |
| barcode.md | 1D(Code 39、EAN-13、EAN-8、Codabar、Code 93、Code 128、PDF417)および 2D(QR、DataMatrix)バーコードの追加。バーコードの画像としてのエクスポート |
| colorspace.md | 描画と画像における DeviceGray、DeviceRGB、DeviceCMYK、ICC ベースの色空間の操作 |
| conformance.md | PDF/A(1B、2B、3B)および PDF/X 準拠ファイルの作成。既存の PDF の準拠規格への変換 |
| named-destinations.md | ドキュメント内および URL ベースのナビゲーション用の名前付き移動先の追加、変更、削除、リンク |
| pdf-templates.md | PdfTemplate、PdfPageTemplateElement(ヘッダー/フッター)、PdfPageTemplate の作成と使用。オーバーレイの作成とページのテンプレートとしてのキャプチャ |
| accessible-pdf.md | タグ付き PDF、PDF/UA-2、Well-Tagged PDF の作成と、アクセシビリティタグ要素の抽出 |
| tagged-pdf.md | スクリーンリーダーとリフローに対応する論理構造ツリーを備えたタグ付き(アクセシブル/構造化)PDF の作成 |
| zugferd-invoice.md | XML を埋め込んだ ZUGFeRD 電子請求書 PDF(PDF/A-3b)の作成。ZUGFeRD 1.0、2.0、Factur-X、XRechnung の準拠レベルに対応。既存の ZUGFeRD PDF から XML を抽出 |
| xps-to-pdf.md | XPSToPdfConverter を使用した XPS(XML Paper Specification)ドキュメントの PDF への変換 |
| svg-to-pdf.md | SvgConverter と PdfGraphics.DrawPdfTemplate を使用した SVG ファイルの PDF ドキュメントへの変換 |
ルール
- 出力ファイルは
./output/ディレクトリに配置します - 一時的な
.csxスクリプトは{skill-root}/syncfusion-dotnet-pdf/scripts/内に作成してください。ワークスペースのルートや顧客のscripts/フォルダーには作成しないでください - ワークスペースのルートにある
SyncfusionLicense.txtのライセンスキーを使用します - Python ライブラリ(例:python-pdf)は使用しないでください
- 実行後、一時的な
.csxファイルを必ず削除してください - 常に最新バージョンの NuGet パッケージを使用します
前提条件
- .NET SDK 8 以降および
dotnet-script:dotnet tool install -g dotnet-script - Syncfusion ライセンス:
SyncfusionLicense.txtまたは環境変数SYNCFUSION_LICENSE_KEY - 無料ライセンス:https://www.syncfusion.com/products/communitylicense