ファサード API
ファサード API
Facades API は、コア
Aspose.PDF FOSS for .NET オブジェクトモデルの周りに、簡素化されたタスク指向のラッパーを提供します。各ファサードクラスは、特定の
PDF 操作 — フォーム入力、ファイル結合、コンテンツ編集、またはデジタル
署名 — を対象とし、BindPdf / Save ワークフローを公開します。
Form facade を使用したフォーム入力
Form (in Aspose.Pdf.Facades) は既存のPDFにバインドし、ページツリーをナビゲートせずにAcroFormフィールド値の読み取りまたは書き込みを可能にします。
using var form = new Form("input.pdf", "output.pdf");
form.FillField("FirstName", "Alice");
form.FillField("AcceptTerms", "Yes");
form.Save();フィールド値を読み取るには:
using var form = new Form("input.pdf");
string name = form.GetField("FirstName");PdfFileEditor を使用した PDF の結合と分割
PdfFileEditor は、ページ範囲を連結、分割、抽出、削除します。
var editor = new PdfFileEditor();
// Concatenate two files
editor.Concatenate("file1.pdf", "file2.pdf", "merged.pdf");
// Extract pages 2-5
editor.Extract("source.pdf", 2, 5, "pages2to5.pdf");
// Split at page 3
editor.SplitFromFirst("source.pdf", 3, "first3.pdf");PdfContentEditor でページ コンテンツを編集
PdfContentEditor 既存のページコンテンツを変更します — テキストを追加、テキストを置換、または注釈にアクションを添付します。
var editor = new PdfContentEditor();
editor.BindPdf("input.pdf");
// Perform content edits
editor.Save("output.pdf");PdfFileSignature を使用したデジタル署名
PdfFileSignature PDF ドキュメントに署名し、既存の署名を検証します。
var sig = new PdfFileSignature();
sig.BindPdf("document.pdf");
// Sign or verify
sig.Save("signed.pdf");PdfFileStamp を使用したページスタンプ
PdfFileStamp テキスト、画像、または他の PDF ページをスタンプとしてオーバーレイします。
var stamp = new PdfFileStamp();
stamp.BindPdf("input.pdf");
// Add stamps
stamp.Save("stamped.pdf");
stamp.Close();PdfConverter を使用したページの画像への変換
PdfConverter PDFページをラスタ画像形式にレンダリングします。
var converter = new PdfConverter();
converter.BindPdf("input.pdf");
converter.DoConvert();
// Iterate pages and save imagesヒントとベストプラクティス
- 常に
Close()を呼び出すか、usingを使用してファサードオブジェクトが保持するリソースを解放してください。 - 大きなファイルの場合、すべてを一度にメモリに読み込むのを防ぐため、ファイルパスとともに
BindPdfを使用してください。 - エラー処理を円滑に行うため、非 Try バージョンよりも
TryConcatenateとTryAppendを優先してください。 - ファサードは内部でコア
Documentモデルに委譲します — より細かい制御が必要な場合はコア API に切り替えてください。 FormEditorファサードは、既存の PDF に新しいフォームフィールドを追加できるようにし、既存のフィールドだけを埋めるのではありません。
一般的な問題
| Issue | Cause | Fix |
|---|---|---|
Save() が空のファイルを生成する | 保存前に BindPdf が呼び出されていなかった | Save を呼び出す前に必ずソース PDF をバインドしてください |
| フォームフィールドの値が書き込まれない | フィールド名が PDF の内部フィールド名と一致しない | Form.FieldNames を使用して利用可能なフィールド名を一覧表示してください |
| 連結が黙って失敗する | 入力ファイルが暗号化されているか破損している | TryConcatenate を使用し、戻り値を確認してください |
| 編集後に署名が無効になる | 署名後にコンテンツが変更された | 文書を最終ステップとして署名してください |
よくある質問
Facades とコア Document API の違いは何ですか?
ファサードは高レベルでタスク指向のメソッド(フォームの入力、ファイルの結合)を提供します。
コア API(Document、Page、Annotation)は、すべての PDF オブジェクトへの低レベルのアクセスを
提供します。ファサードは内部でコア API を使用します。
複数のファサード操作をチェーンできますか?
はい。同じソースをバインドし、操作を実行して一度だけ保存します。あるいは、中間結果を保存して
次の操作のために再バインドします。
PdfFileEditorはパスワードで保護されたPDFをサポートしていますか?
はい。所有者/ユーザーパスワードを受け付けるオーバーロードは、暗号化されたファイルで利用可能です。
API リファレンス概要
| Class / Method | Description |
|---|---|
Form | フィールド値の読み取りと書き込みのための AcroForm ファサード |
Form.FillField | 名前でフォームフィールドの値を設定する |
Form.GetField | 名前でフォームフィールドの値を読み取る |
FormEditor | 既存の PDF のフォームフィールドを追加または変更する |
PdfFileEditor | PDF ページ範囲の結合、分割、抽出、削除 |
PdfFileEditor.Concatenate | 2 つ以上の PDF を 1 つに結合する |
PdfFileEditor.Extract | ページ範囲を新しい PDF に抽出する |
PdfContentEditor | ページコンテンツ(テキスト、注釈、アクション)を変更する |
PdfFileSignature | PDF デジタル署名の署名と検証 |
PdfFileStamp | ページにテキストまたは画像スタンプをオーバーレイする |
PdfConverter | PDF ページをラスタ画像にレンダリングする |
FormattedText | スタンプ操作用のスタイル化テキスト記述子 |
FontStyle | フォントスタイル(太字、斜体など)の列挙 |
EncodingType | 文字エンコーディングの列挙 |