
PDF ファイルはテキストとグラフィックで構成されており、添付ファイルとしてファイル全体が含まれている場合があります。これにより、ドキュメント セットの交換が簡単かつ信頼性が高まります。添付ファイル ウィンドウでは、添付ファイルの表示、挿入、削除、エクスポートを一元的に行うことができます。また、PDF ファイルを新しい場所に移動すると、その中の添付ファイルも一緒に移動されることに注意してください。添付ファイルには、親ドキュメントへのリンクや他の添付ファイルへのリンクが含まれている場合があります。添付されたコメントと添付ファイルを混同しないでください。
この記事では、PDF ドキュメントの添付ファイルに関する情報を読み取る方法と、Python を使用して PDF から添付ファイルをダウンロードする方法について詳しく説明します。特別なソフトウェアのダウンロードやインストールは必要なく、必要な操作はすべてクラウドで実行できます。
PDF処理API
Aspose.PDF Cloud は、さまざまな形式の作成、編集、PDF への変換機能や、PDF ファイルを XLSX、PPTX、DOCX、EPUB、HTML、JPEG などの形式にレンダリングする機能などを提供する REST ベースの API です。REST アーキテクチャにより、API はどのプラットフォームからでもアクセスできます。そのため、デスクトップ、Web、モバイル、クラウド、ハイブリッド アプリケーションで PDF 処理機能を実装できます。
PDF処理用のPython SDK
お客様の利便性をさらに高めるために、ご希望の言語ですべての PDF 処理機能をご利用いただけるよう、専用のプログラミング SDK を作成しました。同様に、Python 開発者の利便性を高めるために、Aspose.PDF Cloud API のラッパーである Aspose.PDF Cloud SDK for Python という Python プログラミング SDK を作成しました。さて、始めるための最初のステップはインストールです。SDK は PIP および GitHub リポジトリから無料でダウンロードできます。次に、ターミナル/コマンド プロンプトで次のコマンドを実行して、最新バージョンの SDK をシステムにインストールします。
pip install asposepdfcloud
PyCharm IDE
PyCharm IDE を使用している場合は、プロジェクトの依存関係として SDK を直接追加できます。
ファイル ->設定 ->プロジェクト ->Python インタープリター ->asposepdfcloud

Image 1:- PyCharm settings option.

画像 2:- Aspose.Pdf Cloud Python パッケージ。
無料のクラウドダッシュボードアカウント
インストール後の次の主要なステップは、Aspose.Cloud ダッシュボード から当社のクラウド サービスの無料サブスクリプションを取得することです。このサブスクリプションの目的は、承認されたユーザーのみが当社のファイル処理サービスにアクセスできるようにすることです。GitHub または Google アカウントをお持ちの場合は、サインアップするか、新しいアカウントの作成 ボタンをクリックして必要な情報を入力します。資格情報を使用してダッシュボードにログインし、ダッシュボードからアプリケーション セクションを展開して、クライアント資格情報セクションまで下にスクロールして、クライアント ID とクライアント シークレットの詳細を確認します。

画像 3: Aspose.Cloud ダッシュボード上のクライアント資格情報。
PDFから添付ファイル情報を読み取る
PDF 文書内の添付ファイルの情報を読むには、以下の手順に従ってください。
- まず、引数としてクライアント ID とクライアント シークレットを指定して、ApiClient クラスのインスタンスを作成する必要があります。
- 次に、ApiClient オブジェクトを入力引数として受け取る PdfApi クラスのインスタンスを作成します。
- 次に、PdfApi の getdocumentattachments(…) メソッドを呼び出して、PDF 添付ファイルの詳細を取得します。
def readAttachmentDetails():
try:
#Client credentials
client_secret = "1c9379bb7d701c26cc87e741a29987bb"
client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"
#initialize PdfApi client instance using client credetials
pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)
# PdfApiClient を引数として渡しながら PdfApi インスタンスを作成します。
pdf_api = PdfApi(pdf_api_client)
#source image file
input_file = 'PdfWithEmbeddedFiles.pdf'
# APIを呼び出して添付ファイルの詳細を抽出する
response = pdf_api.get_document_attachments(name = input_file)
print(response)
# コンソールにメッセージを出力する(オプション)
print('PDF Attachment details successfully retrieved !')
except ApiException as e:
print("Exception while calling PdfApi: {0}".format(e))
print("Code:" + str(e.code))
print("Message:" + e.message)
参考までに、上記の例で使用したサンプルPDFドキュメントはPdfWithEmbeddedFiles.pdfからダウンロードできます。
特定の添付ファイル情報を読む
API を使用すると、PDF ドキュメント内の特定の添付ファイルの情報を読み取ることもできます。このためには、GetDocumentAttachmentByIndex メソッドを使用してください。取得した最初の添付ファイルの詳細は以下を参照してください。
{'attachment': {'check_sum': '33DCE2EE8BD095A3C4E2A67058104D35',
'creation_date': '11/24/2008 02:02:36.000 PM',
'description': None,
'links': [{'href': '/PdfWithEmbeddedFiles.pdf/attachments/1',
'rel': 'self',
'title': None,
'type': None}],
'mime_type': 'application/pdf',
'modification_date': '05/03/2007 10:37:41.000 AM',
'name': 'example1.pdf',
'size': 10984},
'code': 200,
'status': 'OK'}
PDFから特定の添付ファイルをダウンロード
PDF ドキュメントから特定の添付ファイルをダウンロードするには、以下の手順に従ってください。
- まず、引数としてクライアント ID とクライアント シークレットを指定して、ApiClient クラスのインスタンスを作成する必要があります。
- 次に、ApiClient オブジェクトを入力引数として受け取る PdfApi クラスのインスタンスを作成します。
- 次に、GetDownloadDocumentAttachmentByIndex(…) メソッドを呼び出して、PDF ファイルから添付ファイルをダウンロードします。
def downloadAttachment():
try:
#Client credentials
client_secret = "1c9379bb7d701c26cc87e741a29987bb"
client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"
#initialize PdfApi client instance using client credetials
pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)
# PdfApiClient を引数として渡しながら PdfApi インスタンスを作成します。
pdf_api = PdfApi(pdf_api_client)
#source image file
input_file = 'PdfWithEmbeddedFiles.pdf'
# PDFファイルから最初の添付ファイルをダウンロードするためにAPIを呼び出す
response = pdf_api.get_download_document_attachment_by_index(name = input_file, attachment_index=1)
print(response)
# コンソールにメッセージを出力する(オプション)
print('PDF Attachment successfully downloaded !')
except ApiException as e:
print("Exception while calling PdfApi: {0}".format(e))
print("Code:" + str(e.code))
print("Message:" + e.message)
cURL コマンドを使用して添付ファイル情報を読み取る
REST API は cURL コマンドで簡単にアクセスでき、シンプルなターミナル アプリケーションを使用して実行できます。Aspose.PDF Cloud は REST アーキテクチャに従って開発されているため、cURL コマンドでアクセスすることもできます。ただし、前提条件として、Aspose.Cloud ダッシュボードで指定された個々のクライアント資格情報に基づいて JSON Web トークン (JWT) を生成する必要があります。API は登録ユーザーのみがアクセスできるため、これは必須です。JWT トークンを生成するには、次のコマンドを実行してください。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
JWT トークンを取得したので、次のコマンドを実行して、PDF ドキュメントから特定の添付ファイルの情報を取得できます。
curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/PdfWithEmbeddedFiles.pdf/attachments/1" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
cURL コマンドを使用して特定の添付ファイルをダウンロードする
次のコマンドを実行して、PDF ファイルの 2 番目の添付ファイルをダウンロードし、ローカル ドライブに保存してください。
curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/PdfWithEmbeddedFiles.pdf/attachments/2/download" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-o Attachment.txt
結論
この記事では、PDF ドキュメントから添付ファイルを読み取ってダウンロードする方法の詳細と手順について説明しました。Python コード スニペットと cURL コマンドを使用して手順を確認しました。添付ファイルの処理とは別に、API は PDF ファイルの他の要素に関連する多数の機能も提供しており、その詳細は 開発者ガイド に記載されています。さらに、Aspose.PDF Cloud SDK for Python の完全なソース コードは GitHub からダウンロードできます。API の使用中に問題が発生した場合や、さらに質問がある場合は、無料製品サポート フォーラム からお気軽にお問い合わせください。
関連記事
詳細については、次のリンクにアクセスすることをお勧めします。