PDF フォームは、情報を入力したり、ドロップダウン ボックスから項目を選択したり、必要に応じてフィールドをチェックしたりできる有名なファイル形式の 1 つです。PDF は現在、データと PDF フォームを統合するための 2 つの異なる方法、つまり AcroForms (Acrobat フォームとも呼ばれます) と XML Forms Architecture (XFA) フォームをサポートしています。フォームに入力するには、オンラインでフォームに入力するか、フォームのコピーをコンピューターに保存して Adobe Acrobat Reader を使用してフォームに入力します。フォームに入力したら、ドキュメント内に入力されたデータを使用することになります。この目的のために、XML、FDF、および XFDF 形式にエクスポートする必要がある場合があります。この記事では、Python やその他のサポートされている形式を使用して、プログラムで PDF を XML にエクスポートする方法について詳しく説明します。

PDF処理API

Aspose.PDF Cloud は、さまざまなファイル形式を作成、編集、PDF 形式に変換する機能を提供する、受賞歴のある REST API です。同時に、PDF ファイルを XLSXPPTXDOCXEPUBHTML など、さまざまな サポート形式 にエクスポートする機能もサポートしています。

また、PDF フォームを使用して次の操作を行うこともできます。

API は REST ベースであるため、デスクトップ、モバイル、Web、ハイブリッドなど、あらゆるプラットフォームやアプリケーションからアクセスできます。現在、ユーザーの利便性をさらに高めるために、プログラミング言語固有の SDK を作成しました。これにより、選択した言語ですべての PDF 処理機能を利用できます。

Python アプリケーションに PDF 処理機能を実装するために、Aspose.PDF Cloud のラッパーである Aspose.PDF Cloud SDK for Python を作成しました。したがって、この SDK を使用すると、Python アプリケーション内ですべての PDF 処理機能を利用できます。この SDK を使い始めるには、まずインストールする必要があります。SDK は PIP および GitHub リポジトリから無料でダウンロードできます。ターミナル/コマンド プロンプトで次のコマンドを実行するだけで、最新バージョンの SDK がシステムにインストールされます。

pip install asposepdfcloud

無料のクラウドダッシュボードアカウント

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

クライアントの資格情報

画像 1: Aspose.Cloud ダッシュボード上のクライアント資格情報。

Python を使用して PDF を XML にエクスポートする

Pythonを使用してPDFをXMLにエクスポートするには、以下の手順に従ってください。この要件を満たすために2つのAPIを提供しています。

| API | タイプ | URL | 説明 |

| ——————- | —– | —– | ———— |

| /pdf/{name}/export/xml | GET | GetExportFieldsFromPdfToXmlInStorage | ストレージ内の PDF のフィールドを XML ファイルにエクスポートします。 |

| /pdf/{name}/export/xml | PUT | PutExportFieldsFromPdfToXmlInStorage | ストレージ内の PDF からストレージ内の XML ファイルにフィールドをエクスポートします。 |

  • まず、引数としてクライアント ID とクライアント シークレットを指定して、ApiClient クラスのインスタンスを作成します。
  • 次に、ApiClient オブジェクトを入力引数として受け取る PdfApi クラスのインスタンスを作成します。
  • ここで、putexportfieldsfrompdftoxmlinstorage(..) メソッドを呼び出して、PDF フォーム データを XML にエクスポートし、結果のファイルをクラウド ストレージに保存します。
def exportPDFtoXML():
    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)

        # ソースPDFファイル
        input_file = 'FormData-Filled.pdf'

        # 結果のXML名
        outputXML = 'exportedData.xml'
        
        # PDFフォームデータをXMLにエクスポートし、出力をクラウドストレージに保存します。
        response = pdf_api.put_export_fields_from_pdf_to_xml_in_storage(name = input_file, xml_output_file_path=outputXML)
        
        # コンソールに応答を出力する
        print(response)
        
        # コンソールにメッセージを出力する(オプション)
        print('PDF Form data successfully exported to XML !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)
PDFからXMLへのエクスポートプレビュー

画像 2:- XML としてエクスポートされた PDF データ。

Python を使用して PDF を FDF にエクスポートする

PDF フォーム データを FDF 形式にエクスポートし、出力をクラウド ストレージに保存するには、以下の手順に従ってください。

  • 引数としてクライアント ID とクライアント シークレットを指定して、ApiClient クラスのインスタンスを作成します。
  • ここで、ApiClient オブジェクトを入力引数として受け取る PdfApi クラスのインスタンスを作成します。
  • 最後に、putexportfieldsfrompdftofdfinstorage(..) メソッドを呼び出して PDF フォーム データを FDF にエクスポートし、結果のファイルをクラウド ストレージに保存します。
def exportPDFtoFDF():
    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)

        # ソースPDFファイル
        input_file = 'FormData-Filled.pdf'

        # 結果のFDF名
        outputFDF = 'exportedData.fdf'
        
        # PDFフォームデータをFDFにエクスポートし、出力をクラウドストレージに保存します
        response = pdf_api.put_export_fields_from_pdf_to_fdf_in_storage(name = input_file, fdf_output_file_path=outputFDF)
        
        # コンソールに応答を出力する
        print(response)
        
        # コンソールにメッセージを出力する(オプション)
        print('PDF Form data successfully exported to FDF !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

ソースFormData-Filled.pdfとエクスポートされたexportedData.fdfをダウンロードするには、次のリンクにアクセスしてください。

Python を使用して PDF を XFDF にエクスポートする

XFDF ファイルは、PDF ファイルで使用できる情報を保存する Acrobat Forms Document ファイルであり、XFDF ファイルはそのデータを直接 PDF に挿入します。したがって、1 つの PDF フォームからデータをエクスポートし、他の PDF フォームに入力する必要がある場合があります。そこで、このセクションでは、PDF フォーム データを XFDF 形式にエクスポートする手順について説明します。

  • 引数としてクライアント ID とクライアント シークレットを指定して、ApiClient クラスのインスタンスを作成します。
  • ここで、ApiClient オブジェクトを入力引数として受け取る PdfApi クラスのインスタンスを作成します。
  • 最後に、putexportfieldsfrompdftoxfdfinstorage(..) メソッドを呼び出して PDF フォーム データを XFDF にエクスポートし、結果のファイルをクラウド ストレージに保存します。
def exportPDFtoXFDF():
    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)

        # ソースPDFファイル
        input_file = 'FormData-Filled.pdf'

        # 結果のXFDF名
        outputXFDF = 'exportedData.xfdf'
        
        # PDFフォームデータをXFDFにエクスポートし、出力をクラウドストレージに保存します。
        response = pdf_api.put_export_fields_from_pdf_to_xfdf_in_storage(name = input_file, xml_output_file_path=outputXFDF)
        
        # コンソールに応答を出力する
        print(response)
        
        # コンソールにメッセージを出力する(オプション)
        print('PDF Form data successfully exported to XFDF !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

上記のコードで生成されたサンプル出力は、exportedData.xfdfからダウンロードできます。

PDF を XFDF にエクスポート

画像3:- XFDFにエクスポートされたPDFデータ

cURL コマンドを使用した PDF から XML への変換

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 フォーム データを XML 形式にエクスポートしてください。

curl -v -X PUT "https://api.aspose.cloud/v3.0/pdf/FormData-Filled.pdf/export/xml?xmlOutputFilePath=FormDataExported.xml" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-d{}

結論

この記事では、PDF フォーム データを XML、FDF、XFDF 形式にエクスポートする方法の詳細と手順について説明しました。これらの要件は、Python コード スニペットと cURL コマンドを使用して実現できます。また、開発者ガイド を参照して、API が提供するその他の興味深い機能について学習することをお勧めします。さらに、Aspose.PDF Cloud SDK for Python の完全なソース コードは、GitHub からダウンロードできます。API の使用中に問題が発生した場合や、さらに質問がある場合は、無料製品サポート フォーラム からお気軽にお問い合わせください。

関連記事

詳細については、次のリンクにアクセスすることをお勧めします。