Lewati ke konten utama

Membaca dan Mengedit PDF dan Dokumen Word dari Python

Tutorial ini memungkinkan Anda membaca dokumen PDF dan menggabungkan beberapa file PDF menjadi satu file PDF. Tutorial ini juga akan menunjukkan cara membaca dan menulis dokumen Word dari Python.
Diperbarui 28 Sep 2026  · 8 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Dokumen PDF

PDF adalah Portable Document Format yang berisi teks, gambar, bagan, dan lain-lain, berbeda dengan file teks biasa. Ini adalah berkas dengan ekstensi '.pdf' dan diciptakan oleh Adobe. Jenis file ini independen dari platform apa pun seperti perangkat lunak, perangkat keras, dan sistem operasi.

Langkah untuk Menginstal Paket:

  1. Anda perlu menginstal paket bernama "pypdf2" yang dapat menangani file dengan ekstensi '.pdf'. install package 1

  2. Anda dapat melihat paket 'pypdf2' telah terinstal seperti ditunjukkan di bawah ini. install package 2

Membaca Dokumen PDF dan Mengekstrak Data

Anda hanya akan mengekstrak teks dari file PDF karena PyPDF2 memiliki keterbatasan dalam mengekstrak konten rich media. Logo, gambar, dan sebagainya tidak dapat diekstrak — file PDF berikut perlu diunduh untuk mengikuti tutorial ini.
Unduh file PDF

import pdf

Pernyataan 'import' pada kode di atas mengambil modul PyPDF2. Anda perlu menggunakan 'open('pdfFileName' , 'openingMode')' di mana 'pdfFilename' adalah 'test.pdf', dan 'openingMode' adalah 'rb' yaitu mode baca saja dalam format biner.

open pdf

PyPDF2 memiliki metode 'PdfFileReader', yang menerima objek baru 'pdfFileObject'. Sekarang Anda dapat mengakses atribut bernama 'numPages' dari 'pdfFileObject', yang memberikan jumlah total halaman.

total number of pages Output di atas adalah 1. Karena Anda dapat melihat file PDF hanya terdiri dari satu halaman.

first page Anda dapat menggunakan metode 'getPage(0)' di dalam pdfReaderObject untuk mendapatkan halaman pertama. Hasilnya kemudian disimpan dalam 'firstPageObject' di mana semua teks dalam halaman tersebut dapat dicetak dengan menggunakan metode 'extractText()'.

all text Kode di atas mengambil semua teks dari file PDF. Namun, gambar tidak ditampilkan di terminal, yang tidak dapat diperoleh menggunakan pyPDF2.

Menggabungkan Beberapa File PDF menjadi Satu PDF

Anda akan menggabungkan dua file PDF berbeda menjadi satu file PDF. File PDF lama adalah yang sebelumnya Anda kerjakan, sedangkan file PDF baru dapat diunduh dari tautan berikut:
File PDF baru.

new pdf

Anda akan mengimpor modul PdfFileMerger dari paket PyPDF2, yang membantu menggabungkan file PDF. 'path' ditetapkan, yang menunjukkan jalur folder tempat file berada. Selain itu, file PDF yang akan digabungkan dimasukkan ke dalam 'pdf_files' dalam sebuah daftar.

merger object Anda dapat melihat objek merger dibuat dengan 'PdfFileMerger.' Perulangan dilakukan untuk setiap file dalam daftar, di mana penggabungan dilakukan dengan meneruskan path dan file ke metode 'append'. Terakhir, keluaran akhir dapat diperoleh dengan menggunakan 'merger.write()' di mana konten yang digabungkan diperoleh dengan nama file PDF baru.

merged pdf Gambar di atas menunjukkan 'merged.pdf,' yang berisi konten gabungan dari 'test.pdf' dan 'test-1.pdf'.

Dokumen Word

Dokumen Word memiliki ekstensi ".docx" di akhir nama file. Dokumen ini tidak hanya berisi teks seperti pada file teks biasa, tetapi merupakan dokumen rich text. Dokumen rich text memiliki berbagai struktur untuk dokumen, seperti ukuran, perataan, warna, gambar, font, dan sebagainya yang terkait dengannya.

Anda memerlukan aplikasi untuk bekerja dengan Dokumen Word. Aplikasi populer untuk sistem operasi Windows dan Mac adalah Microsoft Word, tetapi merupakan platform berlangganan berbayar. Namun, ada alternatif gratis seperti "LibreOffice", yaitu aplikasi di Linux yang hadir pra-instal. Aplikasi tersebut dapat diunduh untuk sistem operasi Windows dan Mac. Tutorial ini akan menggunakan Microsoft Word di sistem operasi Windows.

Langkah untuk Menginstal Paket

  1. Anda perlu menginstal paket bernama "python-docx" yang dapat menangani dokumen Word dengan ekstensi '.docx'. python-docx package

  2. Anda dapat melihat paket 'python-docx' telah terinstal seperti ditunjukkan di bawah ini. installed package

Anda dapat menulis kode di shell interaktif yang disediakan oleh Python, tetapi lebih disarankan menggunakan Teks Editor. Jadi, Sublime Text digunakan untuk bagian pengodean dalam tutorial ini.

document module imported

Terlihat di atas modul 'document' diimpor dari paket 'docx' pada baris pertama. Kode pada baris kedua membuat dokumen Word baru dengan bantuan objek Document. Nama file disimpan sebagai 'first.docx' menggunakan 'document.save()'.

Menambahkan Heading

add heading

Kode di atas berisi 'Document()' yang membuka file baru dan 'document.save('addHeader.docx')' digunakan untuk membuat file docx yang baru diedit. Anda dapat menambahkan heading melalui metode 'add_heading('text,' level=number),' yang menerima teks sebagai heading, dan level heading mulai dari 0 hingga 4.

heading levels

Kode di atas menghasilkan output berupa file 'addedHeader.docx' yang baru dibuat, di mana level 0 membuat headline dengan garis horizontal di bawah teks, sedangkan heading level 1 adalah heading utama. Demikian pula, heading lainnya adalah subheading dengan ukuran font yang menurun.

Menambahkan Paragraf

add a paragraph

Kode di atas berisi 'Document()' yang membuka file dokumen baru dan 'document.save('addParagraph.docx')' digunakan untuk membuat file docx yang baru diedit. Anda dapat menambahkan paragraf melalui metode 'add_paragraph('text,' style='required_style')' yang menerima teks, dan 'style' adalah argumen opsional di mana 'List Number' dan 'List Bullet' dapat digunakan.

newly created file

Kode di atas menghasilkan output berupa file 'addedParagraph.docx' yang baru dibuat, di mana ada paragraf sederhana pada baris pertama. Demikian pula, terdapat sebuah heading, dan di bawahnya terdapat daftar terurut berisi item bernomor 1 dan 2. Di bawahnya lagi ada heading lain yang berisi dua item dalam daftar berpoin tidak terurut.

Menambahkan Gambar

add a picture

Kode di atas berisi 'Document(),' yang membuat file dokumen baru, dan 'document.save('addPicture.docx')' digunakan untuk membuat file docx yang baru diedit. Anda dapat menambahkan gambar dengan menggunakan 'add_picture()' yang parameter pertamanya adalah 'cat-1.jpeg' sebagai path untuk gambar kucing. Lebar dan tinggi adalah parameter opsional yang secara bawaan adalah '72 dp,' tetapi di sini kita menggunakan 'Inches' untuk keperluan kita.

added picture

Kode di atas menghasilkan output berupa file 'addedPicture.docx' yang baru dibuat, yang berisi gambar kucing dengan lebar dan tinggi 1,25 inci.

Membaca Dokumen Word

Sekarang Anda akan membaca contoh dokumen Word dari Python, dan dapat ditemukan di:
Unduh Contoh.

reading word document

Baris pertama dalam kode mengimpor Document dari modul 'docx', yang digunakan untuk meneruskan file dokumen yang diperlukan dan membuat objek. 'obtainText' adalah fungsi yang menerima file 'fullText.docx.' Perulangan dilakukan untuk setiap paragraf yang diakses oleh 'document.paragraphs' dan dimasukkan ke dalam daftar kosong menggunakan metode 'append'. Terakhir, fungsi mengembalikan daftar paragraf yang diakhiri dengan baris baru.

plain text

Keluaran di atas memberikan teks polos tanpa gaya, warna, dan sebagainya, yang bukan merupakan dokumen rich text.

Selamat

Selamat, Anda telah selesai membaca tutorial ini.

Jika Anda ingin mempelajari lebih lanjut tentang impor data di Python, coba kursus DataCamp Introduction to Importing Data in Python.

Lihat juga Tutorial Struktur Data Python kami.

Anda juga dapat melihat sumber daya berikut untuk memperluas pengetahuan Anda tentang topik tertentu.

  1. Dokumentasi Python Docx
  2. Dokumentasi PyPDF2

Referensi:
Automate Boring Stuff With Python: Working with Word Documents

Topik
Python

Pelajari lebih lanjut tentang Python

Kursus

Pengantar Mengimpor Data di Python

3 jam
341.9K
Pelajari cara mengimpor data ke dalam Python dari berbagai sumber, seperti Excel, SQL, SAS, dan langsung dari web.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

Lihat SelengkapnyaLihat Selengkapnya