Impor dan Ekspor Anotasi menggunakan Python

Artikel ini menunjukkan cara mengimpor anotasi dari PDF yang ada dan mengekspornya ke dokumen PDF baru menggunakan Aspose.PDF for Python via .NET.

Contoh ini membaca anotasi dari halaman pertama file sumber, membuat PDF baru, menambahkan halaman kosong, dan menyalin setiap anotasi ke halaman baru tersebut. Pendekatan ini berguna ketika Anda perlu memindahkan komentar, penandaan, atau catatan tinjauan ke dalam dokumen output terpisah.

Muat PDF sumber

Buat sebuah Document objek untuk file input yang sudah berisi anotasi. Objek ini memberikan akses ke koleksi halaman dan anotasi yang disimpan pada setiap halaman.

source_document = ap.Document(infile)

Buat PDF tujuan

Selanjutnya, buat dokumen PDF kosong yang akan menerima anotasi yang diimpor. Pada tahap ini, dokumen tujuan tidak berisi halaman apa pun.

destination_document = ap.Document()

Tambahkan halaman untuk anotasi yang diekspor

Karena anotasi harus menjadi milik sebuah halaman, tambahkan halaman baru ke dokumen tujuan sebelum menyalin apa pun.

page = destination_document.pages.add()

Salin anotasi dari halaman sumber

Iterasi melalui koleksi anotasi pada halaman pertama PDF sumber dan tambahkan setiap anotasi ke halaman baru dalam dokumen tujuan.

Argumen kedua dalam page.annotations.add(annot, True) memberitahu Aspose.PDF untuk menyalin anotasi ke halaman tujuan alih-alih hanya menggunakan kembali referensi objek yang ada.

for annot in source_document.pages[1].annotations:
    page.annotations.add(annot, True)

Simpan dokumen output

Setelah semua anotasi disalin, simpan dokumen tujuan untuk membuat file PDF akhir.

destination_document.save(outfile)

Contoh lengkap

Kode berikut menggabungkan semua langkah menjadi satu fungsi yang dapat digunakan kembali:

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


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

from config import set_license, initialize_data_dir


def import_export(infile, outfile):
    """
    Import annotations from one PDF document and export them to a new PDF document.
    """
    source_document = ap.Document(infile)
    destination_document = ap.Document()

    page = destination_document.pages.add()

    for annot in source_document.pages[1].annotations:
        page.annotations.add(annot, True)

    destination_document.save(outfile)

Topik Terkait