Pustaka Anotasi PDF Python Sumber Terbuka
Cobalah pustaka Python Gratis & Sumber Terbuka ini untuk menambahkan dan mengekstrak anotasi dari dokumen PDF.
Apa itu pypdf?
Pypdf adalah pustaka python gratis dan sumber terbuka yang dikenal karena memiliki serangkaian fitur yang beragam untuk menangani dokumen PDF dalam lingkungan python. Alat ini memang berguna untuk berbagai manipulasi PDF, tetapi kami akan fokus pada fitur-fitur yang terkait dengan anotasi dalam ulasan ini.
Fitur penting pypdf yang terkait dengan anotasi meliputi:
- Menambahkan Anotasi Bentuk: Kita dapat menggambar bentuk seperti garis, persegi panjang, elips, dan poligon dll. pada area tertentu halaman PDF sebagai anotasi.
- Menambahkan Anotasi Teks: Kita dapat menambahkan anotasi teks ke posisi tertentu pada halaman PDF.
- Menambahkan Anotasi Tautan: Anda juga dapat menambahkan anotasi tautan (seperti hyperlink) ke dokumen PDF.
- Mengekstrak Anotasi: Kita dapat mengulangi dan mengekstrak informasi tentang semua anotasi dalam dokumen PDF menggunakan pustaka pypdf.
Memulai dengan pypdf
Anda memerlukan Python versi 3.6.0 atau yang lebih tinggi untuk menginstal dan menggunakan pypdf. Jadi, pertama-tama instal Python lalu gunakan perintah di bawah ini untuk menginstal pypdf di komputer Anda menggunakan pip dan lingkungan virtual.
Bahasa Indonesia: Sistem Operasi Linux
python3 -m venv venv
source venv/bin/activate
pip install pypdf
Bahasa Indonesia: MacOS
python -m venv venv
source venv/bin/activate
pip install pypdf
Jendela
python3 -m venv venv
venv\Scripts\activate.bat
pip install pypdf
Tambahkan Anotasi Persegi Panjang ke PDF
Kita dapat menambahkan anotasi persegi panjang ke dokumen PDF menggunakan pustaka pypdf. Kita akan menggunakan kelas Rectangle dari modul pypdf.annotations dari pustaka pypdf untuk mendefinisikan persegi panjang. Kemudian kita akan menggunakan metode add_annotations dari kelas PDFWriter untuk menambahkan anotasi persegi panjang ke PDF.
Periksa cuplikan kode di bawah untuk detailnya:
Keluaran
Pada gambar di bawah, Anda dapat melihat bahwa persegi panjang ditambahkan untuk memberi anotasi pada kata Open Source:
Tambahkan Anotasi Teks ke PDF
Kita membuat anotasi teks menggunakan kelas Text dari modul pypdf.annotations pada pustaka pypdf. Setelah itu, kita dapat menggunakan metode add_annotations dari kelas PDFWriter dari pustaka pypdf untuk menambahkan anotasi ke PDF. Anotasi teks ditambahkan sebagai ikon yang mengembang dan menampilkan teks saat ikon diklik. Periksa cuplikan kode di bawah ini untuk detailnya:
Keluaran
Seperti yang dapat kita lihat pada cuplikan layar di bawah, kode di atas menambahkan ikon ke PDF pada posisi tertentu yang menampilkan anotasi teks saat ikon diklik:
Tambahkan Anotasi Tautan ke PDF
Anotasi tautan dibuat menggunakan kelas Link dari modul pypdf.annotations. Akan tetapi, masalah dengan anotasi tautan adalah ia hanya menambahkan tautan tetapi tidak terlihat. Untuk mengatasi masalah ini, kita akan menggabungkan persegi panjang menggunakan kelas Rectangle dari modul pypdf.annotations seperti yang telah dijelaskan sebelumnya. Dengan cara ini, pengguna dapat mengidentifikasi lokasi penambahan anotasi tautan secara visual. Periksa cuplikan kode di bawah ini untuk pemahaman yang lebih baik:
Keluaran
Seperti yang dapat kita lihat pada output, persegi panjang berfungsi sebagai area yang, jika diklik, akan mengarahkan pengguna ke tautan yang ditentukan.
Ekstrak Anotasi dari PDF
Kita dapat mengekstrak anotasi dari PDF menggunakan pustaka pypdf. Kita mengulang semua anotasi pada halaman PDF lalu menggunakan metode get_object untuk mendapatkan objek anotasi. Lalu kita mengekstrak informasi yang relevan dari objek tersebut. Periksa cuplikan kode di bawah ini untuk detailnya:
Keluaran
Seperti yang dapat kita lihat pada gambar di bawah, program telah mengembalikan jenis anotasi dan koordinat anotasi dalam dokumen PDF:
Kesimpulan
Pypdf memberdayakan pengembang Python untuk menambahkan berbagai jenis anotasi ke PDF dan mengakses informasi penting tentang anotasi, seperti jenis dan lokasinya, menjadikannya pilihan praktis untuk tugas-tugas yang memerlukan penambahan anotasi dan pengambilan data tentang anotasi.