- Alat CLI open-source berbasis Python untuk memanipulasi file PDF yang dibuat oleh tim py-pdf
- Menyediakan beragam fitur pengeditan PDF seperti menampilkan metadata, mengekstrak dan menggabungkan halaman, menghapus halaman, mengonversi gambar menjadi PDF, mengompresi dokumen, dan membuat buklet
- Juga mendukung fitur tingkat lanjut seperti mengekstrak gambar dan teks anotasi dari PDF atau memulihkan xref PDF yang rusak akibat pengeditan manual
- Pada versi 0.5.0 yang baru dirilis, fitur baru telah ditambahkan seperti penandatanganan dan verifikasi dokumen PDF, mengekstrak hanya halaman yang memiliki anotasi, serta memutar halaman tertentu
Alat PDF CLI open-source pdfly
- pdfly adalah proyek terbaru dari organisasi py-pdf, sebuah alat baris perintah untuk memanipulasi file PDF yang berjalan di lingkungan Python
- Dikembangkan berdasarkan pustaka fpdf2 dan pypdf, mudah dipasang dan digunakan sehingga bisa dimanfaatkan di berbagai platform
- Kekuatan terbesar pdfly adalah dukungan fitur yang luas dibandingkan open source pesaing, serta antarmuka intuitif yang mudah digunakan bahkan oleh pengembang pemula
- Dibandingkan proyek lain, sebagian besar pekerjaan terkait PDF dapat ditangani dengan mudah menggunakan satu alat, sehingga efisiensinya sangat baik
Fitur utama
-
Menampilkan metadata
- Mendukung penampilan metadata PDF melalui perintah
pdfly meta dan pdfly pagemeta
- Menyediakan data sistem operasi seperti nama file, izin, ukuran, waktu pembuatan/modifikasi/akses
- Menampilkan data internal PDF seperti versi PDF, jumlah halaman, status enkripsi, informasi font, lampiran, dan jumlah gambar
-
Penggabungan dan pengeditan dokumen
pdfly cat: fungsi mengekstrak halaman tertentu dan menggabungkan dokumen
pdfly rm: fungsi menghapus halaman secara selektif
pdfly x2pdf: mengonversi gambar menjadi dokumen PDF
pdfly compress: fungsi kompresi dokumen
pdfly 2-up dan pdfly booklet: fungsi pembuatan buklet
-
Ekstraksi konten
pdfly extract-images: mengekstrak gambar dari PDF
pdfly extract-annotated-text: mengekstrak teks yang dianotasi
-
Pemulihan PDF
pdfly update-offsets: memperbaiki tabel xref pada PDF yang diedit manual dengan editor teks agar bisa dibuka kembali
- Tabel xref adalah indeks offset byte di dalam dokumen, yang dapat rusak saat diedit secara manual
- pdfly versi 0.5.0 dirilis pada 13 Oktober 2025
pdfly sign: dapat menambahkan tanda tangan elektronik ke dokumen PDF dengan mudah
pdfly check-sign: fitur verifikasi tanda tangan untuk dokumen PDF
pdfly extract-annotated-pages: mengekstrak hanya halaman yang memiliki anotasi secara selektif untuk mendukung peninjauan berulang dan pengerjaan ulang pada dokumen berukuran besar
pdfly rotate: fungsi memutar halaman tertentu dalam dokumen
Rencana ke depan
- Berbagai ide fitur sedang disiapkan pada issue
up-for-grabs di GitHub
- Issue dengan label
good first issues untuk kontributor baru juga telah disiapkan guna mendorong partisipasi pemula open source
- Berencana memfokuskan pengembangan pada perluasan fitur terkait tanda tangan elektronik (sign, check-sign) seperti
pdfly sign dan check-sign
- Sangat menyambut umpan balik pengguna, laporan bug, dan usulan fitur
https://github.com/py-pdf/pdfly
2 komentar
Saya sebelumnya memakai Moduui PDF, lalu untuk memudahkan penggunaan pribadi saya membuat dan sedang memakai alat PDF yang hanya mendukung beberapa fitur saja (ekstraksi, penggabungan, penghapusan, rotasi, perubahan urutan). Menggunakan pdf.js /pdf-lib.js di browser. Sebelum membuat alat pribadi saya sendiri, saya juga sempat mencari-cari, dan ternyata ada sangat banyak alat maupun situs terkait PDF.
Komentar Hacker News
Ini komentar dari 10 tahun lalu, tetapi menurut saya masih relevan. Bahkan hanya di pustaka Python saja ada sangat banyak fitur terkait PDF yang saling tumpang tindih sedikit demi sedikit. Di bahasa lain juga sama, ada banyak sekali pustaka. Pada akhirnya, tiap pustaka itu hanyalah kumpulan berbagai fungsi untuk mengubah struktur data yang mirip. Jadi, untuk pekerjaan PDF yang kompleks, kita terpaksa menggabungkan dua atau tiga pustaka, dan itu tidak efisien baik dari sudut pandang pengembang maupun sumber daya komputasi. Kalau ada seseorang yang membuat struktur pembacaan/penulisan PDF tingkat rendah yang dirancang dengan baik di dalam memori menggunakan Rust, menurut saya seluruh ekosistem akan jauh membaik. Bahasa apa pun atau pustaka PDF apa pun bisa memanfaatkan struktur itu, dan jika diadopsi, kode bisa berkurang serta kecepatan maupun keamanan berpotensi meningkat. Dan kalau cukup menyediakan
get_structure_pointer()danset_structure_pointer(), pustaka-pustaka itu juga bisa saling terhubung dengan bebas. Dengan struktur seperti ini, pustaka kecil akan lebih mudah menambahkan fitur dan cepat diadopsi. Secara realistis saya tidak tahu siapa yang mau mengerjakannya, tetapi saya benar-benar merasa ini diperlukanSaat membuat pustaka PDF, selalu ada trade-off desain tanpa henti tergantung tujuan penggunaannya. "Di dalam memori" sendiri sudah merupakan pilihan besar. Soalnya, format PDF memang dirancang agar seluruh PDF tidak harus dimuat ke memori sekaligus. Dan dari sudut pandang yang lebih menyukai modul dalam dengan antarmuka minimal, membuat modul dangkal dengan fitur luas jelas bukan jawaban. Terakhir, di lingkungan terkelola seperti JVM, pustaka yang dibuat dengan antarmuka C juga menimbulkan kompleksitas dan overhead tambahan. Tautan terkait
Saya setuju dengan pendapat bahwa "kalau ada struktur PDF dalam memori yang sangat bagus dibuat dengan Rust, ekosistemnya akan berubah besar". Namun, membuat pustaka yang jauh lebih baik daripada semua pustaka yang ada sekarang saja sudah tidak mudah, apalagi terus memperbaruinya, memperbaiki bug, dan memeliharanya. Bahkan jika dananya cukup, tetap harus menemukan orang yang bisa mengerjakannya dengan antusias dari tahun ke tahun, dan ketika orang itu kehilangan minat, harus mencari penanggung jawab baru, sambil menerima keluhan yang tak terhindarkan di antaranya. Singkatnya, saya ingin lebih dulu mengucapkan terima kasih kepada sukarelawan yang akan membuat dan memelihara ini seumur hidup
Melihat pembahasan tentang "akan bagus jika ada struktur PDF dalam memori yang hebat dibuat dengan Rust", saya ingin membagikan lopdf, open source yang memang sudah ada
Bahkan sekarang pun, ketika sedang men-debug masalah parsing PDF, saya akhirnya menulis parser sendiri. Saya sempat mencoba memahami parser yang sudah ada, tetapi kodenya berantakan sehingga pada akhirnya saya sampai mengimplementasikannya sendiri. Format PDF, terus terang, sudah menjadi cukup rumit karena dalam proses pengembangannya bercampur berbagai solusi sementara dan penambahan fitur berlebihan. Idenya sendiri bagus, tetapi PDF memiliki terlalu banyak tipe objek dan properti khusus, sehingga setiap kali membuat binding untuk ini, kompleksitas FFI yang sama pada akhirnya terulang lagi. Mungkin lebih baik membuat pemetaan resmi antara PDF dan JSON sehingga, selama masalah memorinya bisa diatasi, pustaka-pustaka utama bisa saling bertukar data. Karena model objeknya tidak sepenuhnya berbeda
Sambil bercanda bahwa seluruh diskusi ini bisa diringkas dalam satu komik XKCD, ia membagikan tautan komik terkait
Poppler memang tidak dijelaskan secara rinci di situs resminya, tetapi kenyataannya ini adalah pustaka yang juga menyertakan berbagai kumpulan alat dan mudah dipakai di distribusi Linux. Alat yang sudah beberapa kali saya pakai dengan sangat baik. Tautan wiki terkait
Dengan memanfaatkan alat-alat ini, saya menganalisis ratusan ribu slip gaji PDF lalu mengunggah datanya ke sistem keuangan baru. Saya puas sekali, sampai layak diberi nilai 10 dari 10
Saya juga sering memakai alat poppler. Menurut saya benar-benar luar biasa
Untuk pekerjaan tingkat rendah, qpdf cukup berguna
Ada juga pdfcpu.io. Namun, jika hanya butuh perubahan PDF sederhana, sangat sulit menemukan aplikasi GUI open source lintas platform. Saya sendiri masih belum menemukannya
Saya pernah cukup sering memakai PDF SAM basic ("split and merge"). Tautan situs Ini open source, multiplatform, dan ada fitur tambahan yang hanya tersedia di versi berbayar
Jika self-hosting memungkinkan, Signature PDF juga lumayan bagus. Tautan proyek
Mungkin pdf24 tools cukup oke. Mendukung instalasi offline juga
Saya pernah mencoba
pdfcpu images list, lalu kaget ketika tiba-tiba mulai mengunduh font tertentu dari luar di mesin lokal. Ini baru Oktober, tapi terlalu menyeramkan jadi saya lewatkanSetelah mempertimbangkannya, saya akhirnya memutuskan memakai lisensi berbayar Creative Cloud. Acrobat memang bekerja dengan baik, jadi sulit dihindari. Saya benar-benar menginginkan alternatif, tetapi secara realistis belum ada pengganti yang memadai
Saya ingin memperkenalkan PDFgear. Memang bukan yang paling canggih, tetapi untuk pengeditan PDF tingkat menengah sebagai alternatif Adobe, ini hampir satu-satunya yang benar-benar layak dipakai, gratis, dan tersedia di semua platform kecuali Linux
Karena dibilang mendukung semua selain Linux, ia bercanda menanyakan di mana binary untuk OpenVMS, Apple II, dan DEC Alpha berada
Ada juga Master PDF, dan ini mendukung Linux juga. Tautan dibagikan
Meski kelihatannya bagus, saya sulit percaya pada logika "gratis, tanpa iklan, tidak menjual data, dan berjalan transparan hanya dengan dana investor". Ia lalu mengutip penjelasan di situs resminya, yang menyatakan bahwa PDFgear beroperasi tanpa pendapatan dari iklan atau data pengguna, melainkan dari dana investor dan optimalisasi teknologi
Saya agak curiga pada PDFgear. Dulu pernah ada unggahan ke cloud tanpa sepengetahuan pengguna, dan ada indikasi bahwa perusahaan itu juga mengelola subreddit mereka sendiri
Fakta yang baru saya ketahui hari ini: ternyata sudah ada sangat banyak alat multifungsi untuk file PDF
Saya benar-benar berharap ada fitur yang bisa membuat daftar isi (metadata) secara otomatis. PDF buku lama tidak punya ini, jadi navigasinya sangat tidak nyaman. Kybook3 juga punya versinya, tetapi tidak bekerja dengan akurat. Dengan teknologi LLM sekarang, bukankah ini jadi mungkin?
Saya penasaran apakah utilitas untuk mengotomatisasi penandatanganan PDF memang masuk akal. Hakikat tanda tangan adalah bahwa manusia membaca lalu menyetujuinya, jadi saya ragu apakah tepat untuk mengotomatiskannya
Saya rasa tidak ada alasan bagi perusahaan untuk tidak menandatangani dokumen yang mereka buat sendiri secara otomatis. Yang dimaksud tanda tangan di sini bukan tanda tangan visual di dalam PDF, melainkan tanda tangan kriptografis yang memungkinkan siapa pun memverifikasi penerbitnya. Artinya, pengguna bisa memastikan apakah rekening koran bank itu benar-benar berasal dari bank tersebut
CEO tidak punya waktu untuk menandatangani banyak kontrak karyawan. Bahkan di era analog pun sekretaris berperan membubuhkan cap, jadi otomatisasi tanda tangan tetap masuk akal dalam praktik
Bukti rekening bank bisa diterbitkan dan ditandatangani secara otomatis kapan pun diperlukan. Tidak masuk akal berharap kepala cabang duduk sendiri menandatangani setiap permohonan satu per satu
Misalnya jika harus menandatangani 25 PDF, akan lebih nyaman meninjaunya di layar lalu menandatangani secara batch sekaligus daripada mengerjakannya satu per satu secara manual di penampil
Selain yang disebut di atas, ada juga pdfcpu, sebuah "Go PDF processor and CLI". GitHub pdfcpu
Alat PDF serbaguna yang saya pikirkan adalah kumpulan alat PDF milik Didier Stevens. Tautan program