Terakhir Diperbarui: 29 Jan, 2025

Pada artikel ini, kami akan memandu Anda tentang cara mengelola file PDF menggunakan Python. Untuk ini, kita akan memanfaatkan pustaka pypdf.
Menggunakan pustaka pypdf, kami akan mendemonstrasikan bagaimana melakukan operasi berikut di Python:
- Mengekstrak teks dari PDF
- Memutar halaman PDF
- Menggabungkan beberapa PDF
- Membagi PDF menjadi file terpisah
- Menambahkan watermark ke halaman PDF
Catatan: Artikel ini mencakup banyak detail berharga, jadi jangan ragu untuk melewati bagian yang paling menarik untuk Anda! Konten diatur untuk navigasi yang mudah, sehingga Anda bisa fokus cepat pada apa yang paling relevan untuk Anda.

Contoh Kode
Anda dapat mengunduh semua kode contoh yang digunakan dalam artikel ini dari tautan berikut. Ini mencakup kode, file input, dan file output.
Instalasi pypdf
Untuk menginstal pypdf, jalankan perintah berikut di terminal atau command prompt Anda:
pip install pypdf
Catatan: Perintah di atas peka terhadap huruf besar-kecil.
1. Mengekstrak Teks dari File PDF Menggunakan Python
Penjelasan Kode
1. Membuat Objek Pembaca PDF
reader = PdfReader(pdf_file)
PdfReader(pdf_file)
memuat file PDF ke dalam objek pembaca.- Objek ini memungkinkan akses ke halaman dan isinya.
2. Melakukan Perulangan Pada Halaman
for page_number, page in enumerate(reader.pages, start=1):
reader.pages
mengembalikan daftar halaman dalam PDF.enumerate(..., start=1)
memberikan nomor halaman mulai dari 1.
3. Mencetak Teks yang Diambil
print(f"Page {page_number}:")
print(page.extract_text())
print("-" * 50) # Pemisah untuk keterbacaan
page.extract_text()
mengekstrak konten teks dari halaman saat ini.- Skrip mencetak teks yang diekstrak beserta nomor halaman.
"-" * 50
mencetak garis pemisah (--------------------------------------------------
) agar lebih mudah dibaca.
File PDF Input yang Digunakan dalam Kode
- File Input: Link Unduh
Output dari Kode
2. Memutar Halaman PDF Menggunakan Python
Penjelasan Kode
Kode tersebut pada dasarnya memutar halaman pertama sebanyak 90° searah jarum jam dan menyimpan PDF yang telah dimodifikasi tanpa memengaruhi halaman lain.
1. Mengimpor Kelas yang Diperlukan
from pypdf import PdfReader, PdfWriter
PdfReader
: Membaca PDF input.PdfWriter
: Membuat PDF baru dengan modifikasi.
2. Menentukan Jalur File Input dan Output
input_pdf = "pdf-to-rotate/input.pdf"
output_pdf = "pdf-to-rotate/rotated_output.pdf"
- Skrip membaca dari
input.pdf
dan menyimpan file yang dimodifikasi sebagairotated_output.pdf
.
3. Membaca PDF dan Membuat Objek Penulis
reader = PdfReader(input_pdf)
writer = PdfWriter()
reader
memuat PDF yang ada.writer
digunakan untuk menyimpan halaman yang dimodifikasi.
4. Memutar Halaman Pertama Sebesar 90 Derajat
page = reader.pages[0]
page.rotate(90) # Memutar 90 derajat searah jarum jam
writer.add_page(page)
- Memilih halaman 1, memutar 90 derajat, dan menambahkannya ke PDF baru.
5. Menambah Halaman Tersisa Tanpa Perubahan
for i in range(1, len(reader.pages)):
writer.add_page(reader.pages[i])
- Melakukan perulangan melalui halaman lain dan menambahkannya sebagaimana adanya.
6. Menyimpan PDF Baru
with open(output_pdf, "wb") as file:
writer.write(file)
- Membuka
rotated_output.pdf
dalam mode tulis-biner dan menyimpan PDF baru.
7. Mencetak Konfirmasi
print(f"Rotated page saved to {output_pdf}")
- Menampilkan pesan keberhasilan.
File PDF Input yang Digunakan dalam Kode dan Output yang Sudah Diputar
- File PDF Input: Link Unduh
- File PDF Output yang Diputar: Link Unduh
Screenshot
3. Menggabungkan File PDF Menggunakan Python
Skrip Python ini menunjukkan cara untuk menggabungkan beberapa file PDF dari direktori menjadi satu PDF menggunakan pustaka PyPDF.
Penjelasan Kode
- Skrip ini secara otomatis menggabungkan semua file PDF yang ditemukan di direktori yang ditentukan (
pdfs-to-merge
) ke dalam satu file output (merged_output.pdf
). - Ia memastikan bahwa direktori output ada dan menambahkan halaman dari tiap PDF dalam urutan yang ada.
- Ia menghasilkan file gabungan akhir di subdirektori
output-dir
.
Pembagian Kode
1. Mengimpor Pustaka
import os
from pypdf import PdfReader, PdfWriter
os
: Digunakan untuk berinteraksi dengan sistem file, seperti membaca direktori dan mengelola jalur file.PdfReader
: Membaca konten dari file PDF.PdfWriter
: Membuat dan menulis file PDF baru.
2. Menentukan Direktori dan File Output
directory = "pdfs-to-merge"
output_file = "output-dir/merged_output.pdf"
directory
: Menentukan folder di mana file PDF disimpan.output_file
: Menentukan jalur output dan nama dari PDF yang digabungkan.
3. Membuat Direktori Output jika Tidak Ada
os.makedirs(os.path.join(directory, "output-dir"), exist_ok=True)
- Ini memastikan direktori output ada, dan jika tidak, ia membuatnya.
4. Membuat Objek PdfWriter
writer = PdfWriter()
writer
digunakan untuk mengumpulkan dan menggabungkan semua halaman dari PDF.
5. Melakukan Perulangan Pada Semua File PDF di Direktori
for file_name in sorted(os.listdir(directory)):
if file_name.endswith(".pdf"):
file_path = os.path.join(directory, file_name)
print(f"Adding: {file_name}")
- Loop ini berjalan melalui semua file di direktori yang ditentukan, memeriksa file dengan ekstensi
.pdf
. Ia menggunakansorted()
untuk memprosesnya dalam urutan abjad.
6. Membaca Setiap PDF dan Menambah Halaman ke Penulis
reader = PdfReader(file_path)
writer.append(reader)
- Untuk setiap PDF,
PdfReader
membaca file, dan kemudian semua halaman dari PDF tersebut ditambahkan kewriter
.
7. Menulis PDF yang Digabungkan ke File Output
output_path = os.path.join(directory, output_file)
with open(output_path, "wb") as output_pdf:
writer.write(output_pdf)
- Setelah mengumpulkan semua halaman,
writer.write()
menulis PDF yang digabungkan ke jalur output yang ditentukan.
8. Mencetak Konfirmasi
print(f"Merged PDF saved as: {output_path}")
- Mencetak pesan keberhasilan yang mengonfirmasikan lokasi file PDF yang digabungkan.
File PDF Input yang Digunakan dalam Kode dan PDF Output yang Digabungkan
- File PDF Input: Link Unduh
- PDF Output yang Digabungkan: Link Unduh
4. Membagi PDF Menggunakan Python
Penjelasan Kode
Skrip Python di atas membagi PDF menjadi beberapa halaman menggunakan pustaka PyPDF. Pertama, ia memastikan bahwa direktori output ada, kemudian membaca file PDF input. Skrip melakukan perulangan pada setiap halaman, membuat objek PdfWriter baru, dan menyimpan setiap halaman sebagai file PDF individu. File output diberi nama berurutan (misalnya, page_1.pdf, page_2.pdf) dan disimpan di folder output-dir
. Akhirnya, ia mencetak pesan konfirmasi untuk setiap file yang dibuat dan memberi tahu saat proses selesai.
PDF Input dan File Output yang Dibagi
- File PDF Input: Link Unduh
- File Output yang Dibagi: Link Unduh
5. Menambahkan Watermark ke PDF Menggunakan Python
Anda dapat menambahkan watermark pada PDF menggunakan pustaka PyPDF dengan menutupi PDF watermark ke PDF yang ada. Pastikan PDF watermark hanya memiliki satu halaman sehingga dapat diterapkan dengan benar ke setiap halaman dari PDF utama.
Penjelasan Kode
Skrip Python di atas membaca PDF input, mengekstrak PDF watermark satu halaman, menutupi watermark pada setiap halaman dari PDF input, dan menyimpan PDF yang telah diberi watermark.
Pembagian Kode
Berikut adalah penjelasan singkat tentang setiap bagian
1. Mengimpor Kelas yang Diperlukan
from pypdf import PdfReader, PdfWriter
PdfReader
digunakan untuk membaca PDF yang ada.PdfWriter
digunakan untuk membuat dan menulis PDF baru.
2. Menentukan Jalur File
input_pdf = "pdf-to-watermark/input.pdf"
watermark_pdf = "pdf-to-watermark/watermark.pdf"
output_pdf = "pdf-to-watermark/output_with_watermark.pdf"
input_pdf
: PDF asli yang akan ditambahkan watermark.watermark_pdf
: PDF terpisah dengan satu halaman yang berfungsi sebagai watermark.output_pdf
: File output yang akan berisi halaman yang telah diberi watermark.
3. Membaca PDF
reader = PdfReader(input_pdf)
watermark = PdfReader(watermark_pdf)
reader
: Membaca PDF input.watermark
: Membaca PDF watermark.
4. Membuat Objek Penulis
writer = PdfWriter()
- Ini akan digunakan untuk membuat PDF akhir yang telah diberi watermark.
5. Mengekstrak Halaman Watermark
watermark_page = watermark.pages[0]
- Asumsikan bahwa PDF watermark hanya memiliki satu halaman, yang akan digunakan untuk menutupi semua halaman.
6. Melakukan Perulangan Pada Halaman PDF Input & Menggabungkan Watermark
for page in reader.pages:
# Menggabungkan watermark dengan halaman saat ini
page.merge_page(watermark_page)
# Menambahkan halaman yang telah digabungkan ke penulis
writer.add_page(page)
- Melakukan iterasi pada setiap halaman dari
input_pdf
. merge_page(watermark_page)
menutupi watermark di atas halaman saat ini.- Menambahkan halaman yang telah dimodifikasi ke dalam
writer
.
7. Menyimpan PDF yang Telah Diberi Watermark
with open(output_pdf, "wb") as output_file:
writer.write(output_file)
- Menulis halaman yang telah dimodifikasi ke dalam file PDF baru.
8. Mencetak Konfirmasi
print(f"Watermarked PDF saved as: {output_pdf}")
- Mencetak jalur file output untuk konfirmasi.
PDF Input, PDF Watermark, dan PDF Output yang Telah Diberi Watermark
- File PDF Input: Link Unduh
- File PDF Watermark: Link Unduh
- File PDF Output yang Telah Diberi Watermark: Link Unduh
Screenshot
Kesimpulan
Dalam panduan ini, kami mengeksplorasi operasi PDF penting di Python, termasuk mengekstrak teks, memutar halaman, menggabungkan, membagi, dan menambahkan watermark. Dengan keterampilan ini, Anda sekarang dapat membangun pengelola PDF Anda sendiri dan mengotomatisasi berbagai tugas PDF secara efisien.