Ekstrak Tautan

Contents
[ ]

PDF sering berisi elemen interaktif seperti tautan web, tautan dokumen, dan aksi khusus. Menggunakan PdfContentEditor, Anda dapat mengekstrak semua anotasi tautan dari PDF secara programatik. Ini memungkinkan Anda untuk memeriksa atau memproses tautan, misalnya, untuk memvalidasi URL atau menganalisis pola navigasi dalam dokumen.

  1. Buat sebuah instance PdfContentEditor.
  2. Hubungkan dokumen PDF input.
  3. Ekstrak semua tautan menggunakan ’extract_link()'.
  4. Iterasi melalui tautan yang diekstrak.
  5. Periksa apakah sebuah tautan adalah LinkAnnotation dan apakah aksinya adalah GoToURIAction.
  6. Cetak koordinat persegi panjang dan URI.
  7. Tampilkan pesan jika tidak ada tautan yang ditemukan.
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")