Manipulasi PDF

Gabung pdf

  • PDFUnite
$ pdfunite pertama.pdf kedua.pdf output.pdf
  • Ghostscript
$ gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=gabung.pdf -dBATCH pertama.pdf kedua.pdf
  • PDFtk
$ pdftk 1.pdf 2.pdf cat output merge.pdf

Ambil sebagian halaman pdf

  • QPDF
$ qpdf --empty --pages input.pdf 1-5 -- output.pdf
  • pdfseparate
$ pdfseparate -f 1 -l 5 sample.pdf sample-1.pdf

-f halaman pertama, -l halaman akhir

Pisah perhalaman pdf

$ pdfseparate sample.pdf sample-%d.pdf

Untuk mengapus link pdf yang biasa dari link website unduhannya. Di-uncompress pdfnya

$ qpdf --stream-data=uncompress --decode-level=all compressed.pdf uncompressed.pdf
#or
$ pdftk compressed.pdf output uncompressed.pdf uncompress

Ganti text dengan spasi kosong

$ sed -i '' 's|http://www.buku.com||g' uncompressed.pdf

Bisa juga edit di Emacs. Cari filenya kemudian ubah jadi mode XML. Matikan juga mode read-only. Biasanya cari streamnya dan hapus saja.

Compress kembali pdf

$ qpdf --stream-data=compress uncompressed.pdf final.pdf
#or
$ pdftk uncompressed.pdf output out_pdftk.pdf

Perbaiki PDF

Membuat ulang pdf dengan ghostscript

$ gs -o repaired.pdf -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress corrupted.pdf

Compress Gambar dalam PDF

Biasanya PDF hasil scan ukurannya besar, berikut perintah untuk mengecilkan gambar yang ada dalam pdf:

$ gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen \
     -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf HASILSCAN.pdf

Bisa juga menggunakan ps2pdf:

$ ps2pdf -dPDFSETTINGS=/screen input.pdf output.pdf

Pakai convert dapat membuat file lebih kecil lagi:

$ convert -density 100x100 -quality 80 -compress jpeg input.pdf output.pdf
magick '.\SCAN 7.jpg' -strip -interlace Plane -gaussian-blur 0.05 -quality 85% TRANSKRIP_2_ID.pdf

Bikin pdf dari satu folder gambar

$ convert *.jpg output.pdf

Putar halaman

// searah jarum jam
pdftk input.pdf cat 1-endeast output output.pdf
// lawan jarum jam
pdftk input.pdf cat 1-endwest output output.pdf

Add watermark

// Windows
magick convert "scan.jpg" ( ^
    -font "Arial" ^
    -fill "#d3d3d3" ^
    -background "#0000" ^
    -rotate -45 ^
    -pointsize "45" ^
    label:"textmark\n" ^
    -channel A -fx "u*0.5" ^
  ) ^
  -gravity center ^
  -composite ^
  "out.pdf"

Change title and author

magick '.\scan 3.jpg' -strip -interlace Plane -gaussian-blur 0.05 -quality 85% -define pdf:Producer="Pribadi (Aldo Ridhoni)" -define pdf:Author="Aldo Ridhoni" -define pdf:Title="Surat Izin Belajar Aldo" SURAT_IZIN_BELAJAR_ALDO.pdf

Using pdftk

pdftk book.pdf dump_data output report.txt

pdftk book.pdf update_info report.txt output bookcopy.pdf