PDFヘッダーにテキストと画像を追加する

プロフェッショナルで視覚的に魅力的な PDF ドキュメントを作成する場合、ヘッダーに画像やテキストを追加する機能は必須の機能です。ヘッダー セクションは、タイトル、作成者、日付などの重要な情報を読者に提供するため、ドキュメントの最も重要な領域の 1 つです。ヘッダーにテキストを追加するのは比較的簡単なプロセスですが、画像を追加するのは、特に PDF ドキュメント生成に不慣れな Python 開発者にとっては難しい場合があります。この記事では、Python Cloud SDK を使用して PDF ドキュメントのヘッダーに画像とテキストを追加する方法について説明します。

PDF ヘッダーに、画像、ロゴ、ドキュメントの作成日時、ドキュメントのタイトル、バージョンまたはリビジョン番号、ドラフト、作成者名、章名を追加できます。

PDF ドキュメント アセンブリ用の REST API

Aspose.PDF Cloud SDK for Python は、開発者が PDF ファイルをプログラムで操作できるようにするさまざまな関数とメソッドを提供します。また、PDF ドキュメントのヘッダーに画像やテキストを追加するための強力で柔軟なツール セットも提供し、Python アプリケーションに簡単に統合して PDF ドキュメントを自動処理できます。ヘッダーに画像を追加するプロセスについては、画像の位置とサイズ、および画像を表示するページ番号を指定する必要があります。同様に、ヘッダーにテキストを追加するには、テキスト コンテンツ、フォント サイズ、およびその他の書式設定オプションを指定する必要があります。SDK には、ヘッダー コンテンツの配置と位置を制御するオプションや、ヘッダーの背景色を指定するオプションも用意されています。

まず、PIP および GitHub リポジトリから無料でダウンロードできる SDK をインストールする必要があります。次のコマンドを実行するだけで、最新バージョンの SDK をインストールできます。

pip install asposepdfcloud

REST API にアクセスするには、登録して個人の資格情報を取得する必要があります。関連情報については、クイック スタート ガイド をご覧ください。

Python を使用して PDF ヘッダーにテキストを追加する

SDK を使用すると、ドキュメントのヘッダー セクションにテキスト文字列を追加できます。この要件は、次の手順で実現できます。

  • まず、引数としてクライアント ID とクライアント シークレットを指定して、ApiClient クラスのインスタンスを作成します。
  • 次に、ApiClient オブジェクトを入力引数として受け取る PdfApi クラスのオブジェクトを作成します。
  • 3 番目に、TextHeader インスタンスのプロパティを定義する TextHeader オブジェクトを作成します。
  • TextHeader のテキスト書式を設定するには、前景色、フォント サイズ、フォント名などを定義する TextState のオブジェクトを作成します。
  • 最後に、postdocumenttextheader(..) メソッドを呼び出して PDF ドキュメントにテキスト ヘッダーを追加し、結果のファイルをクラウド ストレージに保存します。
def addTextHeader():
    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 = 'awesomeTable.pdf'
        
        # テキストヘッダーを定義するオブジェクトを作成する
        textHeader = asposepdfcloud.TextHeader()
        # バックグラウンドでヘッダーをレンダリングするための値を設定します
        textHeader.background = False
        # テキストヘッダーの水平方向の配置を中央に設定する
        textHeader.horizontal_alignment = 'Center'
        # ヘッダーの不透明度を0.5に設定する
        textHeader.opacity = 0.5
        # 回転角度なし
        textHeader.rotate = None
        textHeader.rotate_angle = 0
        # XとYのインデント値を設定する
        textHeader.x_indent = 100
        textHeader.y_indent = 100
        # ズーム係数を1.0に設定する
        textHeader.zoom = 1.0
        # ヘッダー内にレンダリングされるテキスト値
        textHeader.value = 'Aspose.PDF Cloud'

        # テキストの書式を定義する TextState のインスタンスを作成する
        textState = asposepdfcloud.TextState(font_size=15, font='Arial', foreground_color=
              {"A": 0,
              "R": 252,
              "G": 173,
              "B": 3},font_style=2)
        # TextStateオブジェクトをTextHeaderに渡す
        textHeader.text_state = textState

        # APIを呼び出してPDF文書にテキストヘッダーを追加します
        response = pdf_api.post_document_text_header(name = input_file, text_header = textHeader)
        
        # コンソールに応答コードを出力する
        print(response)
        # コンソールにメッセージを出力する(オプション)
        print('Text Header successfully added to PDF !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)
PDF のテキスト ヘッダー

画像 2: PDF ドキュメントのテキスト ヘッダーのプレビュー。

入力PDFファイルと結果PDFファイルはawesomeTable.pdfawecomeTable-TextHeader.pdfからダウンロードできます。

Python を使用して PDF ヘッダーに画像を追加する

PDF ヘッダー セクションに画像オブジェクトを追加するには、以下の手順に従ってください。結果のファイルはクラウド ストレージにアップロードされます。

  • まず、引数としてクライアント ID とクライアント シークレットを指定して、ApiClient クラスのインスタンスを作成します。
  • 次に、ApiClient オブジェクトを入力引数として受け取る PdfApi クラスのオブジェクトを作成します。
  • 次に、ImageHeader のプロパティを定義する ImageHeader オブジェクトを作成します。
  • 特定のページのヘッダーのレンダリングを制御するために、startpagenumber および endpagenumber オプション パラメータに値が割り当てられます。
  • 最後に、postdocumentimageheader(..) メソッドを呼び出して PDF ドキュメントにイメージ ヘッダーを追加し、結果のファイルをクラウド ストレージに保存します。ヘッダーはドキュメントの最初の 2 ページにのみ追加されることに注意してください (コードで指定されているとおり)。
def addImageHeader():
    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 = 'awesomeTable.pdf'
        
        # ImageHeaderインスタンスを作成する
        imageHeader = asposepdfcloud.ImageHeader()
        # 背景プロパティをtrueに設定する
        imageHeader.background = True
        # 水平方向の配置を右に設定する
        imageHeader.horizontal_alignment = 'Right'
        imageHeader.opacity = 0.7
        imageHeader.rotate = None
        imageHeader.rotate_angle = 0
        imageHeader.x_indent = 10
        imageHeader.y_indent = 10
        imageHeader.zoom = .5
        # ヘッダーに追加するクラウド ストレージで利用可能な画像ファイルの名前
        imageHeader.file_name = 'Koala.jpg'
        # ヘッダー内の画像の幅
        imageHeader.width = 120
        # ヘッダー内の画像の高さ
        imageHeader.height = 120
        imageHeader.left_margin = 0
        imageHeader.top_margin = 10
        imageHeader.right_margin = 10
        
        # ヘッダーを追加するドキュメントの開始ページ
        startPage = 1
        # ヘッダーを追加する文書の最終ページ
        endPage = 2

        # APIを呼び出してPDF文書に画像ヘッダーを追加し、結果のファイルをクラウドストレージに保存します。
        response = pdf_api.post_document_image_header(name = input_file, image_header = imageHeader, start_page_number = startPage, end_page_number=endPage)
        
        # コンソールに応答コードを出力する
        print(response)
        
        # コンソールにメッセージを出力する(オプション)
        print('Image Header successfully added to PDF !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)
キャプション

Image 3:- Preview of Image Header added in PDF.

上記の例で生成されたソースファイルと結果ファイルは、以下からダウンロードできます。

cURL コマンドを使用して PDF にテキスト ヘッダーを追加する

cURL コマンドは、コマンド ライン ターミナルから REST API にアクセスするための便利なメカニズムを提供します。Aspose.PDF Cloud も REST アーキテクチャに従って開発されているため、cURL コマンドを使用して API にアクセスすることもできます。このアプローチは、コマンド ライン ツールでの作業を好む開発者や、PDF ヘッダー編集を大規模な自動化ワークフローに統合する必要がある開発者にとって便利です。

REST API を使用するには、次のコマンドを実行して、クライアント資格情報に基づいて JSON Web accessToken (JWT) を生成する必要があります。

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=88d1cda8-b12c-4a80-b1ad-c85ac483c5c5&client_secret=406b404b2df649611e508bbcfcd2a77f" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

JWT トークンを取得したら、次のコマンドを使用して、ドキュメントの 1 ページ目と 2 ページ目のヘッダー セクションにテキストを追加してみてください。

curl -X POST "https://api.aspose.cloud/v3.0/pdf/awesomeTable.pdf/header/text?startPageNumber=1&endPageNumber=2" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{  \"Background\": false,  \"HorizontalAlignment\": \"Center\",  \"Opacity\": 0.5,  \"Rotate\": \"None\",  \"RotateAngle\": 0,  \"XIndent\": 100,  \"YIndent\": 10,  \"Zoom\": 1.0,  \"TextAlignment\": \"None\",  \"Value\": \"Aspose.PDF Cloud\",  \"TextState\": {    \"FontSize\": 15,    \"Font\": \"Arial\",    \"ForegroundColor\": {      \"A\": 0,      \"R\": 252,      \"G\": 173,      \"B\": 3    },    \"BackgroundColor\": {      \"A\": 10,      \"R\": 0,      \"G\": 0,      \"B\": 0    }  },  \"LeftMargin\": 0,  \"TopMargin\": 0,  \"RightMargin\": 0}"

cURL コマンドを使用して PDF に画像ヘッダーを追加する

次の cURL コマンドを使用して、PDF ドキュメントにイメージ ヘッダーを追加し、結果のファイルをクラウド ストレージに保存してみてください。次のコマンドでは、ドキュメントの 1 ページ目と 2 ページ目にイメージ ヘッダーを追加し、不透明度を 0.7、ズーム係数を 0.5、イメージの高さと幅のプロパティを 120 ポイントに定義しています。

curl -X POST "https://api.aspose.cloud/v3.0/pdf/awesomeTable.pdf/header/image?startPageNumber=1&endPageNumber=2" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{  \"Background\": true,  \"HorizontalAlignment\": \"Right\",  \"Opacity\": 0.7,  \"Rotate\": \"None\",  \"RotateAngle\": 0,  \"XIndent\": 10,  \"YIndent\": 10,  \"Zoom\": .5,  \"FileName\": \"Koala.jpg\",  \"Width\": 120,  \"Height\": 120,  \"LeftMargin\": 0,  \"TopMargin\": 10,  \"RightMargin\": 10}"

結論

結論として、PDF ドキュメントのヘッダーに画像とテキストを追加することは、ドキュメントの見た目の魅力とブランド化を高めることができる便利な機能です。Aspose.PDF Cloud SDK for Python を使用すると、数行のコードで簡単に実行できます。請求書、レポート、またはヘッダーを必要とするその他のドキュメントを作成する場合でも、この機能を使用すると、時間と労力を節約しながら、出力の品質を向上させることができます。Aspose.PDF Cloud SDK for Python を使用するだけでなく、cURL コマンドを使用して PDF ヘッダーに画像とテキストを追加することもできることがわかりました。

この記事が、Python アプリケーションにこの機能を追加するために必要なすべてのガイダンスとインスピレーションを提供できたことを願っています。

便利なリンク

関連記事

以下の内容について詳しくは、次の記事を参照することをお勧めします。