Saya ingin menulis bash
skrip untuk mengubah setiap .pdf
file dalam direktori saat ini menjadi .png
file. Sebagai contoh:
$ls .
a.pdf b.pdf
$./pdf2png.sh
Converting pdfs to pngs
a.pdf -> a.png
b.pdf -> b.png
Ini adalah upaya terbaik saya:
#!/bin/bash
convert -verbose -density 500 -resize '800' a.pdf a.png
convert -verbose -density 500 -resize '800' b.pdf b.png
bash
imagemagick
Saya Suka Kode
sumber
sumber
find . -type f -name '*.pdf' -exec sh -c 'for f do convert -verbose -density 500 -resize 800 "$f" "${f%.pdf}.png"; done' find-sh {} +
Lihat unix.stackexchange.com/a/321753/135943 untuk penjelasan dan latar belakang.-printf
, jadi yang Anda perlukan untuk portabilitas adalah menggantinya dengan `-exec printf '% s \ 0' {} +`.Anda dapat menggunakan bash
for
loop sebagai berikut:sumber
Anda dapat menggunakan
mogrify
untuk mengonversi & mengubah ukuran semua.pdf
dalam direktori saat ini:Ketika menggunakan yang berbeda
format
(dalam hal ini-format png
) yang asli.pdf
tidak tersentuh, file output memiliki nama yang sama kecuali untuk ekstensi yang akan diubah ke yang ditentukan olehformat
.sumber
Jika Anda tidak dibatasi untuk menggunakan bash, maka Anda dapat menggunakan skrip python untuk mengonversi semua
.pdf
file di direktori saat ini ke.png
gambar resolusi tinggi. Ini dapat dimodifikasi untuk tipe gambar input / output lain, atau untuk menggunakan argumen yang berbedaconvert
.sumber