リンクを抽出

Contents
[ ]

PDF には、Web リンク、ドキュメントリンク、カスタムアクションなどのインタラクティブな要素が含まれていることがよくあります。を使用する PDF コンテンツエディター、PDF からすべてのリンク注釈をプログラムで抽出できます。これにより、URL を検証したり、文書内のナビゲーションパターンを分析したりするなど、リンクを検査または処理できます。

  1. PDF コンテンツエディターのインスタンスを作成します。
  2. 入力 PDF ドキュメントをバインドします。
  3. ’extract_link () ‘を使用してすべてのリンクを抽出します。
  4. 抽出されたリンクを繰り返し処理します。
  5. リンクがリンク注釈であるかどうか、およびそのアクションが GoTouriAction であるかどうかを確認します。
  6. 長方形の座標と URI を出力します。
  7. リンクが見つからない場合は、メッセージを表示します。
import aspose.pdf.facades as pdf_facades
from aspose.pycore import cast, is_assignable
import aspose.pydrawing as apd
import aspose.pdf as ap

import sys
from os import path

sys.path.append(path.join(path.dirname(__file__), ".."))

from config import set_license, initialize_data_dir


def extract_links(infile):
    # Create PdfContentEditor object
    content_editor = pdf_facades.PdfContentEditor()
    # Bind document to PdfContentEditor
    content_editor.bind_pdf(infile)
    # Extract links from the document
    links = content_editor.extract_link()

    count = 0
    for link in links:
        count += 1
        print(f"Link {count}: {link.rect}")
        if is_assignable(link, ap.annotations.LinkAnnotation):
            annotation = cast(ap.annotations.LinkAnnotation, link)
            if is_assignable(annotation.action, ap.annotations.GoToURIAction):
                action = cast(ap.annotations.GoToURIAction, annotation.action)
                print(f"  URI: {action.uri}")

    if count == 0:
        print("No links found")