Konversi PDF ke HTML/XML dengan Pustaka Python
Pustaka Python gratis & sumber terbuka untuk mengubah dokumen PDF menjadi HTML & XML.
Apa itu pdfminer.six?
pdfminer.six adalah pustaka Python gratis dan sumber terbuka yang dapat digunakan untuk mengonversi dokumen PDF ke format lain.
Berikut daftar singkat fitur konversi PDF utamanya:
- Konversi PDF ke HTML: Ubah dokumen PDF menjadi format HTML sambil mempertahankan struktur dan tata letak dokumen.
- Konversi PDF ke XML: Ubah file PDF menjadi format XML, serta catat semua detail, termasuk font dan elemen lainnya.
Memulai dengan pdfminer.six
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 pdfminer.six
Bahasa Indonesia: MacOS
python -m venv venv
source venv/bin/activate
pip install pdfminer.six
Jendela
python3 -m venv venv
venv\Scripts\activate.bat
pip install pdfminer.six
Konversi PDF ke HTML
Kita dapat mengonversi dokumen PDF ke format HTML menggunakan fungsi extract_text_to_fp dari pustaka pdfminer.six (dengan tipe output diatur ke html) yang disediakan oleh pustaka tersebut, seperti yang ditunjukkan dalam potongan kode di bawah ini:
Keluaran
Tangkapan layar berikut menunjukkan berkas HTML yang dihasilkan dengan mengonversi dokumen PDF:
Mengonversi PDF ke XML
Kita juga dapat mengonversi dokumen PDF ke format XML menggunakan fungsi extract_text_to_fp yang sama (namun dengan tipe keluaran yang ditetapkan ke xml) yang disediakan oleh pustaka, seperti yang ditunjukkan dalam potongan kode di bawah ini:
Keluaran
Tangkapan layar berikut menunjukkan konten XML yang dikonversi dari dokumen PDF:
Kesimpulan
Secara umum, pdfminer.six mendukung konversi dokumen PDF ke format XML tanpa masalah apa pun, tetapi saat mencoba mengonversi PDF ke HTML, ia berhasil mentransfer konten teks tetapi sering kali mengganggu tata letak keseluruhan.