Salah satu vendor kami mulai menempel pada gambar besar yang tidak perlu ke halaman terakhir dari PDF yang kami dapatkan dari mereka. Saya perlu memotong ini. Namun, kami memiliki ratusan ini, jadi itu penghalang untuk masuk secara manual. Apa cara terbaik untuk mengekstrak dan kemudian menghapus (Lebih disukai yang pertama, lalu yang lain; Saya masih perlu mengkonfirmasi melalui filesize bahwa saya tidak menghapus yang tidak memiliki gambar) halaman terakhir dari PDF secara otomatis? OS adalah Linux.
Saya dapat mengekstraknya menggunakan ghostscript, dengan sesuatu di sepanjang baris gs -dFirstPage=5 -dLastPage=5
, tapi saya perlu mengotomatiskan ini, saya tidak bisa melewatinya dan secara manual mencari tahu apa nomor halaman terakhir itu.
Ada ide?
Sunting: Untuk memperjelas, saya hanya ingin membagi / menghapus halaman terakhir. Bukan gambar di dalamnya, cukai periode halaman terakhir.
pdftk
- saya yakin itu dapat dibuat untuk bekerja secara umum untuk tugas semacam ini.Jawaban:
Seperti @Daniel Andersson sudah berkomentar, ini dapat dengan mudah dilakukan dengan
pdftk
:Saya tidak tahu apakah itu dapat dilakukan dengan satu panggilan ke pdftk meskipun ...
Sunting : Anda dapat menggabungkannya dengan jawaban dan penggunaan thanosk (dalam bentuk bash):
ketika Anda sudah mengekstrak halaman terakhir ke variabel
$last
.sumber
Untuk lebih meningkatkan jawaban @ eldering, pdftk versi 1.45 dan yang lebih baru memiliki sarana untuk mereferensikan halaman dalam urutan terbalik dengan menambahkan huruf kecil r ke nomor halaman. Halaman terakhir dalam PDF adalah r1, halaman berikutnya-ke-terakhir adalah r2, dll.
Misalnya, panggilan pdftk tunggal:
akan menjatuhkan halaman terakhir dari input.pdf - panjangnya harus minimal dua halaman.
Untuk mengekstrak hanya halaman terakhir PDF untuk menguji ukuran file-nya, jalankan:
Pdftk tersedia di Linux. Banyak distro yang memiliki biner yang dapat Anda instal. Anda harus memastikan itu versi 1.45 atau lebih baru. Jika tidak, Anda dapat membangun pdftk dari kode sumber.
sumber
pdfinfo akan memberi Anda ukuran file pdf yang sebenarnya, dan pdfimages akan memberi Anda indeks gambar dalam file pdf tersebut. Jadi Anda bisa menulis skrip dalam formulir
itu akan kembali jika file tertentu memiliki gambar di halaman terakhir. Jika ya maka Anda dapat melakukan manipulasi apa pun yang perlu Anda lakukan.
sumber
Inilah solusi menggunakan pdfjam alih-alih pdftk:
Di mana argumen pertama adalah file yang akan dipotong dan argumen kedua jumlah halaman yang akan dipotong (default ke 1).
sumber
Solusi satu liner akan digunakan
find
bersamapdftk
:CATATAN : file yang dipangkas disimpan dalam contoh ini dalam subdirektori yang dipanggil
cut
untuk menjaga nama file asli karenapdftk
tidak memungkinkan menimpa file input.sumber