TypeScript で PDF 添付ファイルを扱う方法
このガイドでは、Aspose.PDF FOSS for TypeScript を使用して PDF 文書内のファイル添付を扱う方法を示します。Document.AddAttachment() は文書レベルでファイルを埋め込みます;Page.AddFileAttachment() はページ上にクリック可能なクリップ型アノテーションを配置し、埋め込まれたファイルを開きます。Node.js 22 以降が必要です。
ステップバイステップガイド
ステップ 1: パッケージをインストールする
git clone https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-TypeScript.git
cd Aspose.PDF-FOSS-for-TypeScript
npm install
npm run buildパッケージがインストールされたら、新しい TypeScript ファイルで Document クラスをインポートしてインストールを確認します — パッケージがインストールされると、この行はエラーなく解決されるはずです:
import { Document } from '@asposefoss/pdf';ステップ 2: 必要なクラスをインポートする
Document をインポートしてファイルを開き、以下で使用される両方の添付エントリーポイントにアクセスします:
import { Document } from '@asposefoss/pdf';ステップ 3: 対象ドキュメントを開く
両方の添付方法は開かれた Document に対して呼び出されます — Page レベルの添付には追加で対象の Page が必要です:
const doc = Document.OpenFile('input.pdf');
const page = doc.Pages[0];ステップ 4: ドキュメントレベルの添付ファイルを埋め込む
Document.AddAttachment(name, bytes, opts) -> Attachment はファイルをドキュメントの埋め込みファイルコレクションに埋め込みます。キーは name です。Document.GetAttachments() -> Attachment[] は現在埋め込まれているすべてを一覧表示し、Document.RemoveAttachment(name) -> boolean は名前で1つを削除します。
ステップ 5: ページレベルのファイル添付アノテーションを追加する
Page.AddFileAttachment(opts) -> FileAttachmentAnnotation ページ上にクリック可能なアイコンを配置します — スティッキーノートやフリーテキスト注釈(「Annotations」ガイドで取り上げられているもの)に似ています 注釈 ガイド — ビューアが埋め込みファイルを保存またはプレビューするために開くものです。以下とは異なり Document.AddAttachment()、特定のページ位置に固定され、ドキュメントの embedded-files コレクションにのみ一覧表示されるわけではありません。
一般的な問題と対策
次で追加された添付ファイルは Document.AddAttachment() ページ上に表示されるアイコンがありません。 これは想定どおりです — ドキュメントレベルの添付ファイルは embedded-files コレクションに格納され、ページ上には存在しません。次を使用してください Page.AddFileAttachment() さらに、特定のページにクリック可能なアイコンが必要な場合に使用します。
Document.RemoveAttachment() returns false. それは返します false 指定されたものに添付が登録されていない場合 name — 現在のセットを次で一覧表示 Document.GetAttachments() 最初に、使用中の正確な名前を確認してください。
同じ場所に2つの添付が埋め込まれました name. name in Document.AddAttachment() は、添付を検索するために使用されるキーです RemoveAttachment() — 2回目の呼び出しで名前を再利用すると、ビューアが重複をどのように解決するかに応じて、最初のものを上書きしたり競合したりする可能性があります。埋め込みファイルごとに固有の名前を使用してください。
よくある質問
ドキュメントレベルの添付とページレベルの添付の違いは何ですか?
ドキュメントレベルの添付 (Document.AddAttachment()) は PDF の embedded-files コレクションに格納され、特定のページに結び付けられていません。ページレベルの添付 (Page.AddFileAttachment()) は、付箋のように特定のページ位置に固定された注釈です。
ドキュメントに現在埋め込まれているものを確認するにはどうすればいいですか?
Document.GetAttachments() を呼び出すと、現在埋め込まれているすべての Attachment が返されます。
添付ファイルは追加後に削除できますか?
はい — Document.RemoveAttachment(name) は、追加された名前でドキュメントレベルの添付ファイルを削除し、見つかって削除された場合は true を返します。