Преобразование сотен JPG в PDF с помощью терминала

7

Я знаю, что команда convert *.jpg myPdf1.pdf может конвертировать несколько файлов JPEG в один PDF-файл.

Но я хотел бы преобразовать несколько JPEG-файлов в несколько PDF-файлов, например:

myJPG1.jpg → myPDF1.pdf
myJPG2.jpg → myPDF2.pdf
myJPG3.jpg → myPDF3.pdf

Есть ли достойный способ управлять чем-то подобным?

    
задан Faq 23.05.2014 в 16:11
источник

2 ответа

8

Мой первый инстинкт для файлов пакетной обработки почти всегда find . Это отлично, если вам нужно построить какую-либо фильтрацию (которую вы не здесь), но она по-прежнему остается фаворитом. Это также будет возвращено в подкаталоги, если вы не сообщите об этом (с помощью -maxdepth 1 или другого):

find -name '*.jpg' -exec convert "{}" "{}.pdf" \;
rename 's/\.jpg\.pdf$/.pdf/' *.jpg.pdf

В заявлении find / convert выдается загрузка .jpg.pdf файлов. Второй очищает это.

Возможно, немного более элегантный подход в таком простом случае:

for file in *.jpg ; do convert "$file" "${file/%jpg/pdf}"; done

Это не рекурсивно, и вам не нужно возиться с очисткой имен файлов.

И я почти забыл, что ImageMagick имеет числовой вывод, который идеально подходит для вашего прецедента. Следующее будет просто содержать трехзначный идентификатор ( 000 , 001 , 002 и т. Д.) В конце «myPDF»:

convert *.jpg myPDF%03d.pdf

Очевидно, если вы имеете дело с более чем тысячей записей, увеличьте число. Если вы не хотите, чтобы он был заполнен нулем, удалите начальный ноль.

    
ответ дан Oli 23.05.2014 в 16:31
источник
1

К сожалению convert изменяет изображение до этого, чтобы иметь минимальную потерю качества исходного jpg , вам нужно использовать img2pdf , который делает pdf с исходным jpg поэтому нет потерь, я использую следующие команды:

1) Это, чтобы сделать pdf файла из каждого jpg изображения без потери разрешения или качества:

ls -1 ./*jpg | xargs -L1 -I {} img2pdf {} -o {}.pdf

2) Здесь у вас будет *.pdf s как *.jpg.pdf , поэтому немного переименуем

mmv "*.jpg.pdf" "#1.pdf"

Вам нужно установить img2pdf и mmv

sudo apt install img2pdf mmv
    
ответ дан Eduard Florinescu 08.02.2018 в 09:42