Python で PDF リンクを作成

PDF ドキュメント内のリンク

PDF 1.7仕様(ISO 32000-1:2008)によると、リンクアノテーションは、アノテーションがアクティブになったときに何が起こるかを定義するいくつかのタイプのアクションをトリガーできます。サポートされている主なアクションは次のとおりです。

  1. GoTo — 同じ文書内の宛先に移動します。
  2. GoTor — 別の PDF ファイル内の目的地にジャンプします (リモートアクセス)。
  3. URI — 統一リソース識別子 (通常は Web リンク) を開きます。
  4. Launch — アプリケーションを起動するか、ファイルを開きます (プラットフォームによって異なり、セキュリティ上の理由で制限されている場合が多いです)。
  5. 名前付き — 次のページへの移動や文書の印刷など、定義済みのアクションを実行します。
  6. JavaScript — 埋め込まれた JavaScript コードを実行します (セキュリティ上の懸念から注意して使用してください)。
  7. 送信フォーム — 指定した URL にフォームデータを送信します。
  8. ResetForm — フォームフィールドをデフォルト値にリセットします。
  9. **ImportData ** — 外部ファイルから文書にデータをインポートします。

アプリケーションへのリンクをドキュメントに追加することで、ドキュメントからアプリケーションにリンクできます。これは、たとえばチュートリアルの特定の箇所で読者に特定のアクションを実行させたい場合や、機能豊富なドキュメントを作成する場合に便利です。

「LaunchAction」を使用してアプリケーションリンクを作成するには:

import aspose.pdf as ap
from os import path
import sys

def create_link_annotation_launch_action(infile, outfile):
    document = ap.Document(infile)
    page = document.pages[1]

    link = ap.annotations.LinkAnnotation(page, ap.Rectangle(10, 580, 120, 600, True))
    border = ap.annotations.Border(link)
    border.width = 5
    border.dash = ap.annotations.Dash(1, 1)
    link.color = ap.Color.green
    link.action = ap.annotations.LaunchAction(document, "sample.pdf")
    page.annotations.append(link)
    document.save(outfile)

PDF ファイルに PDF ドキュメントリンクを作成

「リモートに移動」操作を使用する

このコードスニペットは、Python PDF ライブラリを使用して PDF ドキュメントの特定のページにリンク注釈を追加する方法を示しています。

  1. PDF ドキュメントを開く
  2. 文書の 2 ページ目を選択 (インデックス 1)
  3. リンク注釈の作成:
  4. 座標値 (10、580、120、600) で配置されています
  5. カラーグリーン
  6. 最初のページにある「sample.pdf」へのリンク
  7. リンク注釈をページに追加する
  8. 変更したドキュメントを出力ファイルパスに保存します

「リモートアクションに移動」を使用して PDF ドキュメントリンクを作成するには:

import aspose.pdf as ap
from os import path
import sys

def create_link_annotation_go_to_remote_action(infile, outfile):
    document = ap.Document(infile)
    page = document.pages[1]

    link = ap.annotations.LinkAnnotation(page, ap.Rectangle(10, 580, 120, 600, True))
    link.color = ap.Color.green
    link.action = ap.annotations.GoToRemoteAction("sample.pdf", 1)
    page.annotations.append(link)
    document.save(outfile)

「Go To」アクションを使用する

このコードは、Aspose.PDF for Python を使用して PDF ドキュメントの特定のページにリンク注釈を追加する方法を示しています。リンクは緑色の点線の付いた長方形で表示され、ユーザーは同じ PDF 内の別のページに移動できます。「GoToAction」を使用して PDF ドキュメントリンクを作成するには:

import aspose.pdf as ap
from os import path
import sys

def create_link_annotation_go_to_action(infile, outfile):
    document = ap.Document(infile)
    page = document.pages[1]

    link = ap.annotations.LinkAnnotation(page, ap.Rectangle(10, 580, 120, 600, True))
    border = ap.annotations.Border(link)
    border.width = 5
    border.dash = ap.annotations.Dash(1, 1)
    link.color = ap.Color.green
    if document.pages.length >= 4:
        link.action = ap.annotations.GoToAction(document.pages[4])
    else:
        link.action = ap.annotations.GoToAction(document.pages[document.pages.length])
    page.annotations.append(link)
    document.save(outfile)

GoTouriアクションの適用

次の例は、Aspose.PDF for Python を使用して PDF ドキュメントにリンクアノテーションを追加する方法を示しています。リンクは最初のページに緑色のクリック可能な領域として表示され、クリックすると、GoTouriAction を使用して Aspose.PDF for Python のドキュメントが Web ブラウザーで開きます。

この機能は、役立つ外部参考資料、ドキュメント、またはサポートリンクをPDF内に直接埋め込むのに便利です。

  1. PDF ドキュメントをロードします。AP.Document を使用して既存の PDF ファイルを開きます。
  2. 最初のページにアクセスします。document.pages [1] を使用して最初のページにアクセスします (Aspose は 1 から始まるインデックスを使用します)。
  3. リンク注釈を作成します。LinkNotation オブジェクトを作成し、ap.Rectangle を使用してクリック可能な四角形領域を指定します。
  4. 注釈の外観を設定します。link.color = ap.color.green を使用してアノテーションの色を緑に設定します。
  5. URI アクションを割り当てます。GoTouriAction を使用してアノテーションを外部 URL にリンクします。
  6. 注釈をページに追加します。設定したリンク注釈を最初のページの注釈コレクションに追加します。
  7. 変更した文書を保存します。更新した PDF ドキュメントを指定した出力パスに保存します。
import aspose.pdf as ap
from os import path
import sys
    
def create_link_annotation_go_to_URI_action(infile, outfile):
    document = ap.Document(infile)
    page = document.pages[1]

    link = ap.annotations.LinkAnnotation(page, ap.Rectangle(10, 580, 120, 600, True))
    link.color = ap.Color.green
    link.action = ap.annotations.GoToURIAction("https://docs.aspose.com/pdf/python")
    page.annotations.append(link)
    document.save(outfile)

関連リンクトピックス