PDFの表示プロパティを制御する

PDF ファイルには、ビューア アプリケーションが PDF ドキュメントをどのように表示するかを制御できるビュー設定を保持する独自の機能があります。したがって、PDF ドキュメントのビューア設定辞書を使用すると、ドキュメントを画面または印刷で表示する方法を制御することができます。

PDF ビューアの表示プロパティを制御できることに注意してください。これには、PDF ドキュメント タイトルの表示の制御、メニュー バーの非表示または表示、ステータス バーの非表示/表示、ウィンドウ UI の非表示/表示が含まれます。ページ レイアウト、ページ モード、ページ レイアウトの設定方法を制御します。ほとんどの PDF 処理アプリケーションはこれらの操作をサポートしています。ただし、一括更新操作の場合、プログラムによるソリューションが効果的なソリューションです。この記事では、Python を使用して PDF の表示プロパティを制御する方法の詳細と手順について説明します。

PDF操作SDK

Aspose.PDF Cloud は、開発者がアプリケーションに PDF の作成、操作、レンダリング機能を実装できるようにする REST ベースの API です。少ないコード行で、印象的な PDF 処理アプリケーションを開発できます。特定のソフトウェアをインストールする必要はなく、クラウドですべての PDF 処理操作を実行できます。開発者の利便性をさらに高めるために、Aspose.PDF Cloud のラッパーである Aspose.PDF Cloud SDK for Python を作成しました。この SDK を使い始めるには、まずインストールする必要があります。SDK は PIP および GitHub リポジトリから無料でダウンロードできます。インストールを実行するには、ターミナル/コマンド プロンプトで次のコマンドを実行する必要があります。

pip install asposepdfcloud

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

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

クライアントの資格情報

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

Python を使用して PDF の表示プロパティを読み取る

PDF ビューアの設定を読み取り、コンソールに表示するには、以下のコード スニペットを使用してください。

  • まず、クライアントIDとクライアントシークレットを引数として指定してApiClientクラスのインスタンスを作成します。
  • 次に、ApiClientオブジェクトを入力引数として受け取るPdfApiクラスのインスタンスを作成します。
  • 最後に、getdocumentdisplayproperties(…)メソッドを呼び出してPDFビューアの設定を取得します。
def readPDFDisplayProperties():
    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 PDF file
        input_file = 'PdfWithEmbeddedFiles.pdf'

        # Python を使用して PDF 表示プロパティを読み取るための API を呼び出す
        response = pdf_api.get_document_display_properties(name = input_file)
        
        # コンソールに応答を出力する
        print(response)
        
        # コンソールにメッセージを出力する(オプション)
        print('PDF Display preferences 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からダウンロードできます。

Python を使用して PDF 表示プロパティを更新する

このセクションでは、Python SDK を使用して PDF 表示プロパティを設定する手順と関連する詳細について説明します。ただし、先に進む前に、まずプロパティとそれらに割り当てることができる特定の値について学習する必要があります。

サポートされているプロパティ

| プロパティ | 説明 |

| —————– | ———————— |

| HideToolbar | ドキュメントがアクティブなときに PDF ビューアー アプリケーションのツールバーを非表示にするかどうかを指定するフラグ |

| HideMenuBar | ドキュメントがアクティブなときに PDF ビューアー アプリケーションのメニュー バーを非表示にするかどうかを指定するフラグ。 |

| HideWindowUI | ドキュメントのウィンドウ内のユーザー インターフェイス要素 (スクロール バーやナビゲーション コントロールなど) を非表示にして、ドキュメントの内容だけを表示するかどうかを指定するフラグ。 |

| FitWindow | 最初に表示されるページのサイズに合わせてドキュメントのウィンドウのサイズを変更するかどうかを指定するフラグ。 |

| CenterWindow | ドキュメントのウィンドウを画面の中央に配置するかどうかを指定するフラグ。 |

| DisplayDocTitle | ウィンドウのタイトル バーにドキュメント タイトルを表示するかどうかを指定するフラグ。 |

| PageMode | PDF ドキュメントを PDF ビューアーで開いたときのドキュメント ページ モード。可能な値: UseNone – ドキュメントのアウトライン (ブックマーク) もサムネイル イメージも表示されません。UseOutlines – ドキュメントのアウトライン (ブックマーク) が表示されます。UseThumbs – サムネイル イメージが表示されます。FullScreenFull – メニュー バー、ウィンドウ コントロール、またはその他のウィンドウが表示されていない画面モード。UseOC – オプションのコンテンツ グループ パネルが表示されます。UseAttachments – ドキュメントの添付ファイルが表示されます。|

| PageLayout | ドキュメントを開いたときに使用するページ レイアウト。 使用可能な値: SinglePage – 一度に 1 ページを表示します。 OneColumn – ページを 1 列に表示します。 TwoColumnLeft – ページを 2 列に表示し、奇数ページを左側に表示します。 TwoColumnRight – ページを 2 列に表示し、奇数ページを右側に表示します。 |

| NonFullScreenPageMode | PDF ビューアー アプリケーションが全画面モードを終了するときのドキュメント ページ モード。可能な値: UseNone – ドキュメントのアウトライン (ブックマーク) もサムネイル画像も表示されません。UseOutlines – ドキュメントのアウトライン (ブックマーク) が表示されます。UseThumbs – サムネイル画像が表示されます。UseOC – オプションのコンテンツ グループ パネルが表示されます。|

  • 引数としてクライアント ID とクライアント シークレットを指定して、ApiClient クラスのインスタンスを作成します。
  • 次に、ApiClient オブジェクトを入力引数として受け取る PdfApi クラスのインスタンスを作成します。
  • ここで、PDF 表示の新しい表示プロパティを定義する DocumentProperties のインスタンスを作成します。
  • 最後に、putdocumentdisplayproperties(…)を呼び出して、PDFファイルの新しい表示プロパティを設定します。
def updatePDFDisplayProperties():
    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 PDF file
        input_file = 'PdfWithEmbeddedFiles.pdf'
        
        # ドキュメントの表示プロパティ
        newDocumentProperties = asposepdfcloud.DocumentProperties
        {
          "Links": [
            {
               "Href": '/PdfWithEmbeddedFiles.pdf/displayproperties',
                "Rel": 'self',
                "Type": None,
                "Title": None    }
          ],
          "CenterWindow": True,
          "Direction": 'L2R',
          "DisplayDocTitle": True,
          "HideMenuBar": True,
          "HideToolBar": False,
          "HideWindowUI": True,
          "NonFullScreenPageMode": 'UseOutlines',
          "PageLayout":'TwoColumnRight',
          "PageMode": 'UseThumbs'
        }

        # PDF表示プロパティを更新するためにAPIを呼び出す
        response = pdf_api.put_document_display_properties(name = input_file, display_properties=newDocumentProperties)
        
        # コンソールに応答を出力する
        print(response)
        
        # コンソールにメッセージを出力する(オプション)
        print('PDF Display preferences successfully updated !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)
PDF 表示設定を更新しました

画像 2: 更新された PDF 表示設定のプレビュー。

cURL を使用して PDF 表示プロパティを読み取る

REST API は cURL コマンド経由でもアクセスできます。Aspose.PDF Cloud は REST アーキテクチャに従って開発されているため、cURL コマンドを使用して API にアクセスすることもできます。ただし、ドキュメント操作を実行する前に、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 トークンが生成されたら、次の cURL コマンドを実行して PDF 表示プロパティを読み取る必要があります。

curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/PdfWithEmbeddedFiles.pdf/displayproperties" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

cURL を使用して PDF 表示プロパティを更新する

cURL コマンドを使用して PDF ドキュメントの表示プロパティを更新することもできます。結果のファイルはクラウド ストレージに再度保存されます。

curl -v -X PUT "https://api.aspose.cloud/v3.0/pdf/PdfWithEmbeddedFiles.pdf/displayproperties" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{  \"Links\": [    {       \"Href\": \"/PdfWithEmbeddedFiles.pdf/displayproperties\",        \"Rel\": \"self\",        \"Type\": null,        \"Title\": null    }  ],  \"CenterWindow\": true,  \"Direction\": \"L2R\",  \"DisplayDocTitle\": true,  \"HideMenuBar\": true,  \"HideToolBar\": false,  \"HideWindowUI\": true,  \"NonFullScreenPageMode\": \"UseOutlines\",  \"PageLayout\": \"TwoColumnRight\",  \"PageMode\": \"UseThumbs\"}"

結論

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

関連記事

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