Я хочу написать bash
скрипт для преобразования каждого .pdf
файла в текущем каталоге в .png
файл. Например:
$ls .
a.pdf b.pdf
$./pdf2png.sh
Converting pdfs to pngs
a.pdf -> a.png
b.pdf -> b.png
Это моя лучшая попытка:
#!/bin/bash
convert -verbose -density 500 -resize '800' a.pdf a.png
convert -verbose -density 500 -resize '800' b.pdf b.png
bash
imagemagick
Мне нравится код
источник
источник
find . -type f -name '*.pdf' -exec sh -c 'for f do convert -verbose -density 500 -resize 800 "$f" "${f%.pdf}.png"; done' find-sh {} +
см. Unix.stackexchange.com/a/321753/135943 для объяснения и фона.-printf
, поэтому все, что вам нужно для переносимости, это заменить ее на `-exec printf '% s \ 0' {} +`.Вы можете использовать
for
цикл bash следующим образом:источник
Вы можете использовать
mogrify
для пакетного преобразования и изменения размера всех.pdf
файлов в текущем каталоге:При использовании другого
format
(в данном случае-format png
) исходного.pdf
файла не затрагивается, выходные файлы имеют одинаковое имя, за исключением расширения, которое будет изменено на имя, указанное с помощьюformat
.источник
Если вы не ограничены использованием bash, то вы можете использовать скрипт Python для преобразования всех
.pdf
файлов в текущем каталоге в.png
изображения с высоким разрешением . Его можно изменить для других типов изображений ввода / вывода или использовать другие аргументы дляconvert
.источник