Selain alat berbasis GUI yang disebutkan dalam jawaban lain, ada beberapa alat baris perintah yang dapat mengubah kode sumber PDF asli menjadi representasi berbeda yang memungkinkan Anda memeriksa (file yang sekarang dimodifikasi) dengan editor teks. Semua alat di bawah ini berfungsi di Linux, Mac OS X, sistem Unix lain, atau Windows.
qpdf
(kesukaanku)
Gunakan qpdf untuk membuka kompresi (sebagian besar) aliran objek dan juga membedah ObjStm
objek menjadi objek tidak langsung individual:
qpdf --qdf --object-streams=disable orig.pdf uncompressed-qpdf.pdf
qpdf
mendeskripsikan dirinya sebagai alat yang melakukan "transformasi struktural, yang memelihara konten pada file PDF" .
Kemudian buka + periksa uncompressed-qpdf.pdf
file di editor teks favorit Anda. Sebagian besar byte yang sebelumnya dikompresi (dan karenanya, biner) sekarang akan menjadi teks biasa.
mutool
Ada juga mutool
alat baris perintah yang dibundel dengan penampil PDF MuPDF (yang merupakan produk saudara Ghostscript, dibuat oleh perusahaan yang sama, Artifex ). Perintah berikut juga membuka kompresi aliran dan membuatnya lebih mudah untuk diperiksa melalui editor teks:
mutool clean -d orig.pdf uncompressed-mutool.pdf
podofouncompress
PoDoFo adalah pustaka FreeSoftware / OpenSource untuk bekerja dengan format PDF dan mencakup beberapa alat baris perintah, termasukpodofouncompress
. Gunakan seperti ini untuk membuka kompresi aliran PDF:
podofouncompress orig.pdf uncompressed-podofo.pdf
peepdf.py
PeePDF adalah alat berbasis Python yang membantu Anda menjelajahi file PDF. Tujuan aslinya adalah untuk penelitian dan pembedahan malware berbasis PDF, tetapi saya merasa berguna juga untuk menyelidiki struktur file PDF yang sepenuhnya jinak.
Ini dapat digunakan secara interaktif untuk "menelusuri" objek dan aliran yang terdapat dalam PDF.
Saya tidak akan memberikan contoh penggunaan di sini, tetapi hanya tautan ke dokumentasinya:
pdfid.py
dan pdf-parser.py
pdfid.py
dan pdf-parser.py
dua alat PDF oleh Didier Stevens yang ditulis dengan Python.
Latar belakang mereka juga untuk membantu menjelajahi PDF berbahaya - tetapi saya juga merasa berguna untuk menganalisis struktur dan konten file PDF jinak.
Berikut adalah contoh bagaimana saya mengekstrak aliran tidak terkompresi dari objek PDF no. 5 menjadi file * .dump:
pdf-parser.py -o 5 -f -d obj5.dump my.pdf
Catatan akhir
Harap dicatat bahwa beberapa bagian biner di dalam PDF belum tentu tidak dapat dikompresi (atau dapat didekodekan menjadi kode ASCII yang dapat dibaca manusia), karena mereka tertanam dan digunakan dalam format aslinya di dalam PDF. Bagian PDF tersebut adalah gambar JPEG, font atau profil warna ICC.
Jika Anda membandingkan alat-alat di atas dan contoh baris perintah yang diberikan, Anda akan menemukan bahwa mereka TIDAK semuanya menghasilkan keluaran yang sama. Upaya membandingkan keduanya karena perbedaannya sendiri dapat membantu Anda lebih memahami sifat sintaks PDF dan format file.