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)