syncfusion-javascript-pdf について
Syncfusion JavaScript PDF ライブラリで PDF を作成、読み取り、編集するスキルです。JavaScript と関連フレームワークの開発者向けに、文書操作のほか、対話機能や抽出、セキュリティ処理を扱います。
主な機能
- 01テキスト、画像、表を含む PDF の作成
- 02PDF 内容の編集と抽出
- 03フォーム、注釈、リンクの追加
- 04文書の結合、分割、透かし追加
- 05PDF の暗号化と電子署名
活用シーン
- 01請求書やレポートの生成
- 02PDF フォームへの入力とフラット化
- 03PDF からのテキストや画像の抽出
- 04複数 PDF ファイルの結合
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ syncfusion/ document-sdk-skills --skill syncfusion-javascript-pdfインストール後、Claude Code で/syncfusion-javascript-pdfを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdreferences/annotations.mdbookmarks.mdcontent-redaction.mddigital-signatures.mddocument-settings.mdencryption.mdform-fields.mdgetting-started.mdhyperlinks.mdimage-extraction.mdimages.mdlayers.mdlists.mdmerge-documents.mdpdf-pages.mdshapes.mdsplit-documents.mdtables.mdtemplates.mdtext-extraction.mdtext-rendering.mdwatermarks.md詳細
PDF ドキュメントの処理
Syncfusion JavaScript PDF ライブラリを使用して、PDF ドキュメントをプログラムで作成、読み取り、操作するための包括的なスキルです。このライブラリは、TypeScript、JavaScript、Angular、React、Vue、ASP.NET Core、ASP.NET MVC アプリケーションとシームレスに統合できます。
このスキルを使用する場面
次のようなニーズがある場合に、このスキルを使用してください。
- PDF ドキュメントを作成する:テキスト、画像、図形、表、リスト、その他のグラフィカル要素を使って、一から作成します
- 既存の PDF を操作する:コンテンツの追加、プロパティの変更、データの抽出を行います
- インタラクティブ機能を追加する:フォーム、注釈、ブックマーク、ハイパーリンクなどを追加します
- PDF を保護する:パスワード保護、RC4/AES 暗号化、権限、デジタル署名を設定します
- PDF ドキュメントを結合または分割する:ドキュメント管理ワークフローに対応します
- コンテンツを抽出する:既存の PDF から、テキスト(検索および境界情報を含む)や画像を抽出します
- 透かしを追加する:ブランド表示やセキュリティ対策として、テキストまたは画像形式の透かしを追加します
- ドキュメント情報を管理する:タイトル、作成者、件名、キーワード、日付などを管理します
- PDF レイヤーを扱う:複雑なドキュメント構造に対応します
- テンプレートを実装する:一貫性のあるドキュメント生成を実現します
プラットフォームのサポート: TypeScript、JavaScript、Angular、React、Vue、ASP.NET Core、ASP.NET MVC
ライブラリの概要
Syncfusion JavaScript PDF ライブラリ(@syncfusion/ej2-pdf)は、次の機能を備えた強力で高性能なクラスライブラリです。
- Adobe Acrobat を使わずに PDF ドキュメントを一から作成
- 既存の PDF ファイルを読み込み、編集、保存
- パスワードで保護された PDF ドキュメントを開く
- テキスト、画像、図形、グラフィカル要素を追加
- インタラクティブなコンポーネント(ブックマーク、注釈、フォームフィールド)
- ドキュメント操作(結合、分割、フラット化)
- コンテンツの抽出(テキスト、画像)
- セキュリティ機能(デジタル署名、LTV、検証、暗号化、墨消し)
主なクラス:
PdfDocument- メインのドキュメントオブジェクトPdfPage- 個々のページPdfGraphics- コンテンツを描画する領域PdfGrid- 表の生成とレイアウトPdfFont、PdfBitmap、PdfBrush- コンテンツ要素
ドキュメントとナビゲーションガイド
はじめに
📄 参照: references/getting-started.md
次のニーズがある場合は、このリファレンスを使用してください。
@syncfusion/ej2-pdfパッケージをインストールする- TypeScript、JavaScript、Angular、React、Vue、ASP.NET 用にライブラリを設定する
- 依存関係と要件を確認する
- 最初の PDF ドキュメントを作成する
- 基本的な保存およびエクスポート操作を学ぶ
ドキュメントの作成と設定
📄 参照: references/document-settings.md
次の用途でこのリファレンスを使用してください。
PdfDocumentインスタンスを作成する- ページ設定(サイズ、向き、余白、回転)を構成する
- ドキュメントのプロパティ(タイトル、作成者、件名、キーワード、作成日/変更日)を設定する
- 差分更新を有効にする
- 注釈とフォームフィールドをフラット化する
📄 参照: references/pdf-pages.md
次の用途でこのリファレンスを使用してください。
- ドキュメントにページを追加する
- ページの操作とナビゲーションを行う
- 異なる設定を持つページセクションを作成する
- ページコレクションを管理する
コンテンツ要素
📄 参照: references/text-rendering.md
テキストを追加する際は、このリファレンスを使用してください。
drawString()メソッドを使用したテキストの描画- フォントの種類(Standard、TrueType、CJK フォント)
- フォントのスタイル、サイズ、書式設定
- テキストのレイアウトと折り返し
- グラフィックス状態の管理(保存/復元)
- テキストの配置と境界
📄 参照: references/images.md
画像操作には、このリファレンスを使用してください。
- JPEG および PNG 画像の追加
PdfBitmapクラスの使用- 画像の配置とサイズ設定
- 既存のドキュメントへの画像の挿入
- Base64 および Uint8Array 画像形式
- クリッピングとグラフィックス変換
📄 参照: references/shapes.md
図形を描画する際は、このリファレンスを使用してください。
- 長方形、円、楕円、線
- 複雑なパスと曲線
- スタイル設定のためのペンとブラシ
- 塗りつぶしと線の描画
- グラフィックス変換(平行移動、回転、拡大縮小)
📄 参照: references/tables.md
表の作成と書式設定には、このリファレンスを使用してください。
- データソースまたは手動の行/列定義から
PdfGridを使用した表の作成 - 表とセルのスタイル設定、カスタム枠線、パディング、組み込みテーマ(
PdfGridBuiltinStyle) - 行と列のカスタマイズ、テキストの配置、書式設定
- ページネーション、ヘッダー行の繰り返し(
repeatHeader)、行の分割防止(fitElement) PdfGridLayoutResultを使用した複数の表の動的な配置- セルの結合(
rowSpan、columnSpan)、セル画像、背景画像、ハイパーリンク - 入れ子のグリッド、枠線のない表、データソースの更新、水平方向のはみ出しモード
📄 参照: references/lists.md
リストを作成する際は、このリファレンスを使用してください。
- 順序付きリストと順序なしリスト
- 入れ子のリスト構造
- カスタムリストマーカーと画像マーカー(
PdfImageMarker) - リストの書式設定オプションとページネーション
📄 参照: references/templates.md
再利用可能なコンテンツには、このリファレンスを使用してください。
- ページテンプレートの作成
- 動的コンテンツのスタンプ
- テンプレートの配置とレイアウト
- ページ間でのコンテンツの再利用
インタラクティブ機能
📄 参照: references/annotations.md
注釈には、このリファレンスを使用してください。
- 注釈の種類(ポップアップ、フリーテキスト、線、図形、インク、テキストマークアップ)
- 雲形の枠線スタイルのカスタマイズ(
borderEffect、PdfBorderEffectStyle) - 注釈の追加、設定、変更
- 注釈のプロパティと外観
- 注釈のフラット化による静的コンテンツへの変換
📄 参照: references/bookmarks.md
ナビゲーションには、このリファレンスを使用してください。
- ドキュメントのブックマークの作成
- 入れ子になったブックマーク階層
- ブックマークのナビゲーションとリンク
- 既存のブックマークの変更
📄 参照: references/form-fields.md
インタラクティブフォームには、このリファレンスを使用してください。
- フォームフィールドの種類(テキスト、チェックボックス、ラジオボタン、ドロップダウン、ボタン)
- フォームフィールドの追加と設定
- フィールドの検証とプロパティ
- フォームデータのプログラムによる入力
- フォームデータのインポート/エクスポート
- フォームのフラット化によるインタラクティブ機能の削除
📄 参照: references/hyperlinks.md
リンク設定には、このリファレンスを使用してください。
- Web ハイパーリンクの追加
- ドキュメント内のナビゲーションリンク
- リンク注釈と外観
- ナビゲーションアクション
ドキュメント操作
📄 参照: references/merge-documents.md
マージについては、こちらを参照してください:
- 複数の PDF ファイルの結合
- 他のドキュメントからのページのインポート
- マージ時のブックマークの保持
- マージのワークフロー
📄 参照: references/split-documents.md
分割については、こちらを参照してください:
- ページ範囲を指定した PDF の分割
- 特定のページの抽出
- ページから個別のドキュメントを作成
📄 参照: references/watermarks.md
透かしについては、こちらを参照してください:
- テキストの透かし
- 画像の透かし
- 透かしの位置とレイアウト
- 不透明度と回転の設定
📄 参照: references/layers.md
レイヤー管理については、こちらを参照してください:
- PDF レイヤー(Optional Content Groups)の作成
- レイヤーの表示制御
- レイヤーへのコンテンツの追加
- レイヤーの削除またはフラット化
データ抽出
📄 参照: references/text-extraction.md
テキストの抽出については、こちらを参照してください:
- 同期および非同期のテキスト抽出(
extractTextSync、extractText) - ページ範囲を指定したテキスト抽出
- レイアウトベースおよび境界ベースの抽出(
extractTextLinesSync、extractTextLines) - テキストと境界矩形の検索(
findTextSync、findText) - 複数ページにわたる照合座標付きの複数テキスト値の検索
📄 参照: references/image-extraction.md
画像の抽出については、こちらを参照してください:
- PDF ドキュメントからの画像の抽出
- 画像データの形式
- 抽出した画像の保存
- 必須パッケージ:
@syncfusion/ej2-pdf-data-extract
セキュリティと保護
📄 参照: references/digital-signatures.md
デジタル署名については、こちらを参照してください:
- デジタル署名の追加(標準署名と外部署名)
- 証明書ベースの署名
- 署名の外観のカスタマイズ
- 埋め込み OCSP/CRL 失効情報を使用した長期検証(LTV)
- デジタル署名の検証(単一フィールドおよびドキュメント全体)
- タイムスタンプサーバーと証明書の信頼チェーン
📄 参照: references/encryption.md
暗号化とドキュメントのセキュリティについては、こちらを参照してください:
- RC4(40-bit、128-bit)および AES(128-bit、256-bit Rev 5 および Rev 6)によるドキュメントの暗号化
- ユーザーパスワード(開くためのパスワード)と所有者パスワード(権限設定用)
- ドキュメントの権限制限(
PdfPermissionFlag)とビット演算による権限チェック - 保護されたドキュメントの復号とパスワードの変更
- パスワード保護の検出とパスワードの種類の特定
📄 参照: references/content-redaction.md
コンテンツの削除については、こちらを参照してください:
- 機密テキストの墨消し
- 図形の墨消し
- 墨消し注釈
- コンテンツの完全な削除
クイックスタートの例
import { PdfDocument, PdfPage, PdfGraphics, PdfFont, PdfFontFamily, PdfFontStyle, PdfBrush } from '@syncfusion/ej2-pdf';
// Create a new PDF document
let document: PdfDocument = new PdfDocument();
// Add a page
let page: PdfPage = document.addPage();
// Get graphics from the page
let graphics: PdfGraphics = page.graphics;
// Set font
let font: PdfFont = document.embedFont(PdfFontFamily.helvetica, 20, PdfFontStyle.regular);
// Create a brush
let brush = new PdfBrush({r: 0, g: 0, b: 0});
// Draw text
graphics.drawString('Hello World!', font, {x: 20, y: 20, width: 200, height: 50}, brush);
// Save the document
document.save('output.pdf');
// Clean up
document.destroy();
一般的なワークフロー
請求書またはレポートの作成
- カスタムページ設定でドキュメントを作成
- 会社のロゴ(画像)を追加
- 書式を設定したヘッダーテキストを追加
- 罫線付きの表を作成(図形+テキスト)
- 合計とフッターを追加
- 保存してダウンロード
こちらから開始: references/getting-started.md、次に references/text-rendering.md と references/images.md
PDF フォームへの入力とフラット化
- フォームフィールドを含む既存の PDF ドキュメントを読み込む
- プログラムでフォームフィールドに入力する
- フォームをフラット化して編集不可にする
- 変更したドキュメントを保存する
こちらから開始: references/form-fields.md
PDF からのデータ抽出
- 既存の PDF ドキュメントを読み込む
- 特定のページからテキストを抽出する
- 必要に応じて画像を抽出する
- 抽出したデータを解析して処理する
こちらから開始: references/text-extraction.md と references/image-extraction.md
複数の PDF を結合する
- メイン文書を作成します
- 元の文書からページをインポートします
- 必要に応じて、セクションのブックマークを追加します
- 結合した文書を保存します
こちらから始めましょう: references/merge-documents.md
デジタル署名を追加する
- 文書を読み込むか、新規作成します
- 証明書を使用してデジタル署名を設定します
- 署名の外観と位置を設定します
- 署名済み文書を保存します
こちらから始めましょう: references/digital-signatures.md
プラットフォーム固有の考慮事項
TypeScript/JavaScript
@syncfusion/ej2-pdfから直接インポートします- ブラウザーまたは Node.js 環境で動作します
- ファイルはブラウザーのダウンロード機能または Node.js fs を使って保存します
Angular/React/Vue
- コンポーネントベースの統合
- コンポーネントのライフサイクル内でファイルのダウンロードを処理します
- 文書生成の状態を管理します
- Syncfusion PDF の操作はフレームワークのサービス、フック、またはコンポーネントメソッド内で行い、生成された出力をフレームワークのダウンロードまたはアップロードのフローにバインドします。
ASP.NET Core/MVC
- サーバー側で PDF を生成します
- PDF をファイル結果として返します
- メモリストリームを処理します
TypeScript、JavaScript、Angular、React、Vue、ASP.NET Core、ASP.NET MVC のプラットフォーム固有のセットアップ手順とパッケージの例については、references/getting-started.md を参照してください。
主なプロパティとメソッド
PdfDocument
addPage(settings?)- 新しいページを追加しますgetPage(index)- 既存のページにアクセスしますsave(filename)- 文書を保存しますdestroy()- リソースをクリーンアップしますembedFont()- 使用するフォントを読み込みます
PdfGraphics
drawString(text, font, bounds, brush)- テキストを描画しますdrawImage(image, bounds)- 画像を描画しますdrawRectangle(pen, bounds)- 矩形を描画しますsave()- グラフィックスの状態を保存しますrestore(state)- グラフィックスの状態を復元します
PdfPage
graphics- 描画サーフェスを取得しますsize- ページの寸法を取得しますrotation- 回転を取得または設定します
API の詳細については、該当するリファレンスファイルを参照してください。
一般的なユースケース
- レポートの自動生成 - テーブル(
PdfGrid)、リスト、グラフ、書式設定済みテキストを含む、ブランドに合わせたレポートを作成します - 請求書の作成 -
PdfGridの明細、合計金額、会社のロゴを含む、プロフェッショナルな請求書を生成します - 証明書の生成 - テンプレートとカスタムテキストを使用して証明書を作成します
- フォームへの入力 - 一括処理用に PDF フォームへプログラムで入力します
- 文書の組み立て - 複数の PDF を結合して、1 つの文書にまとめます
- データの抽出と検索 - 境界情報とともにテキストを抽出または検索し、処理用に PDF から画像を抽出します
- デジタル署名と検証 - LTV を使用してデジタル署名を適用し、署名の信頼チェーンを検証します
- 文書の暗号化とアクセス制御 - AES 256 ビット暗号化、パスワード、アクセス許可で文書を保護します
- 透かしの追加 - 文書にブランドまたはセキュリティ用の透かしを追加します
- 墨消し - 共有前に機密情報を完全に削除します
- アーカイブの作成 - 長期保存とコンプライアンスのワークフローに適した形式へ文書を変換します
トラブルシューティングのヒント
- フォントが見つからない:使用前に
document.embedFont()でフォントが埋め込まれていることを確認してください - 画像が表示されない:画像形式(JPEG/PNG)とデータ(base64/Uint8Array)を確認してください
- ファイルサイズが大きい:増分更新を使用するか、操作を分割してください
- メモリの問題:保存後に
document.destroy()を呼び出してください - 抽出機能が動作しない:
@syncfusion/ej2-pdf-data-extractパッケージをインストールしてください
関連リソース
- パッケージ:
@syncfusion/ej2-pdf - アドオン:
@syncfusion/ej2-pdf-data-extract(抽出機能用) - 依存関係:
@syncfusion/ej2-compression、@syncfusion/ej2-base