syncfusion-flutter-pdf について
Syncfusion Flutter PDF ライブラリを使い、PDF の作成・編集・保存に必要な Dart コードを生成する Flutter 開発者向けスキルです。参照ファイルの API に基づき、モバイル、Web、デスクトップごとの保存方法を案内します。
主な機能
- 01PDF の作成、読み込み、編集、保存
- 02参照資料に基づく Dart コード生成
- 03テキスト、画像、表、フォームの対応
- 04リンク、注釈、署名の追加
- 05テキスト抽出と暗号化の管理
活用シーン
- 01Flutter アプリ向け PDF コードの生成
- 02PDF への表、フォーム、署名の追加
- 03既存 PDF からのテキスト抽出
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ syncfusion/ document-sdk-skills --skill syncfusion-flutter-pdfインストール後、Claude Code で/syncfusion-flutter-pdfを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdreferences/annotations.mdattachments.mdbookmarks.mddigital-signature.mddocument-structure.mdencryption.mdflow-layout.mdforms.mdheader-footer.mdhyperlinks.mdimages.mdlayers.mdlists.mdpages.mdpdf-conformance.mdpdf-templates.mdshapes.mdtables.mdtext-extraction.mdtext.mdwatermarks.md詳細
Syncfusion Flutter PDF ライブラリを使用した PDF ドキュメント処理
Syncfusion Flutter PDF ライブラリを使用して、PDF ドキュメント(.pdf)を作成、編集、保存します。 このスキルでは、モバイル、ウェブ、デスクトップの各プラットフォームを対象とする Flutter プロジェクト向けの Dart コードスニペットを生成できます。
ユーザーの Flutter プロジェクト用の Dart コードを生成する(デフォルト)
トリガーとなるキーワード:「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」、「main.dart」、「example code」、「generate code for」、「codesnippet」。
ワークフロー:
ステップ 1 — プラットフォームを検出して適切なパッケージを提案する
- ワークスペースのプロジェクトファイル(
pubspec.yaml、main.dartなど)を確認して、Flutter の対象プラットフォーム(モバイル、ウェブ、デスクトップ)を特定します。 - コードを生成する前に、
pubspec.yamlにsyncfusion_flutter_pdfを追加するようユーザーに伝えます。
ステップ 2 — リファレンスファイルのみからコードを生成する
リファレンスファイルに明示的に記載されていない API、クラス、メソッド、プロパティを作り出したり、推測したり、提案したりしないでください。
- リクエストされた機能に関連する
references/*.mdファイルを読みます - これらのファイルに記載された API とスニペットのみを使用して、厳密に Dart コードを作成します
- 対象プラットフォームに適した保存/起動パターンを使用します:
- モバイル →
getApplicationSupportDirectory()+OpenFile.open() - デスクトップ →
getApplicationSupportDirectory()+OpenFile.open() - ウェブ → base64 + JavaScript ダウンロード、または
webパッケージを使用する方法
- モバイル →
- スタンドアロンの Dart スクリプトを作成したり、実行したりしないでください
コードリファレンス
すべてのスニペットは references/ フォルダーにあります。
| ファイル | 内容 |
|---|---|
| document-structure.md | ドキュメントの作成/読み込み、ページ設定、向き、余白、セクション、ファイル/ストリームへの保存、増分更新、圧縮、暗号化された PDF の読み込み、破棄 |
| pages.md | ページの追加/挿入/削除/回転、ページ数の取得、余白の設定、異なるページ設定を持つセクション、クライアントサイズの取得 |
| flow-layout.md | PdfLayoutResult を使用した要素の連結、ページをまたぐテキストのページ分割、PdfLayoutFormat のオプション |
| text.md | テキストの描画(drawString、PdfTextElement)、標準/TrueType/CJK フォント、RTL テキスト、複数列テキスト、ペンとブラシ |
| images.md | JPEG/PNG 画像(PdfBitmap)の挿入、透明度と回転の適用、Web URL からの挿入 |
| shapes.md | ポリゴン、線、曲線、パス、長方形、扇形、円弧、ベジェ曲線、楕円の描画 |
| tables.md | PdfGrid の作成、列/ヘッダー/行の追加、セル/行/列のカスタマイズ、組み込みスタイル、ページ分割、複数テーブル |
| lists.md | 順序付きリスト(PdfOrderedList)、順序なしリスト(PdfUnorderedList)、サブリスト |
| header-footer.md | ヘッダーとフッターの追加(PdfPageTemplateElement)、自動フィールド(ページ番号、ページ数、日付/時刻)、複合フィールド |
| bookmarks.md | ブックマーク(PdfBookmark)の追加/挿入/削除/変更、子ブックマーク、移動先、色、テキストスタイル |
| annotations.md | 長方形、楕円、線、ポリゴン、URI、ドキュメントリンク、テキスト Web リンク、テキストマークアップ、ポップアップ注釈、注釈のフラット化/変更/削除、FDF/XFDF/JSON のインポート/エクスポート |
| hyperlinks.md | Web ナビゲーションリンク(PdfTextWebLink)、URI 注釈、ドキュメント内ナビゲーション(PdfDocumentLinkAnnotation)、移動先モード |
| watermarks.md | 透明度と回転を指定したテキストおよび画像の透かし、PdfPageTemplateElement スタンプを使用した全ページへの適用 |
| pdf-templates.md | PdfTemplate の作成、ページへのテンプレートの描画、createTemplate を使用したページのテンプレートとしての抽出、PdfPageTemplateElement によるスタンプの重ね合わせ |
| digital-signature.md | PdfSignatureField、PdfCertificate、新規/既存 PDF への署名、署名の外観、外部署名者、複数の署名、タイムスタンプ、LTV |
| text-extraction.md | テキストの抽出(全体/ページ/範囲)、境界とフォント情報を含むテキスト行/単語/文字の抽出、MatchedItem を使用したテキストの検索 |
| pdf-conformance.md | PDF/A-1b、PDF/A-2b、PDF/A-3b の適合レベル、フォント埋め込みの要件、PDF/A-3b の添付ファイル関連付け |
| attachments.md | ファイル添付(PdfAttachment)の追加/削除、base64 からの添付、ディスクへの抽出と保存、PDF/A-3b 添付ファイルのメタデータ |
| layers.md | レイヤー(PdfPageLayer)の追加/切り替え/削除、ネストされたレイヤー(PdfLayer)、表示制御、レイヤーのフラット化 |
| forms.md | AcroForm フィールド:テキストボックス、コンボボックス、ラジオボタン、リストボックス、チェックボックス、署名、ボタン。フィールドの入力/変更/フラット化/削除、FDF/XFDF/JSON/XML のインポート/エクスポート |
| encryption.md | RC4 および AES 暗号化、ユーザー/オーナーパスワード、権限(印刷、コピー、編集)、既存 PDF の保護、パスワードの変更/削除 |
ルール
- 出力ファイルは
./output/ディレクトリに保存します - 一時的な
.dartスクリプトは{skill-root}/flutter/pdf/scripts/内に作成してください。ワークスペースのルートや顧客のscripts/フォルダーには作成しないでください - 実行後、一時的な
.dartファイルを残さないでください - 保存後は必ず
document.dispose()を呼び出してください - PDF の単位はすべて ポイント です(ピクセルではありません)
- 要素を連結してコンテンツの重なりを避けるには、
PdfLayoutResultを使用してください
前提条件
- Flutter SDK がインストールされていること
pubspec.yamlに追加します:dependencies: syncfusion_flutter_pdf: ^33.1.44- pub.dev または Syncfusion のドキュメントから、互換性のある最新バージョンのパッケージを使用してください。
- 次を実行します:
flutter pub get - Dart コードにインポートします:
import 'package:syncfusion_flutter_pdf/pdf.dart';