Fedir Gontsa

Personal site.

Home  »  різні розробки   »   Багато *.jpg перетворити у один файл – 1

Багато *.jpg перетворити у один файл – 1

Привіт Усім!
Інколи (доволі часто) виникає потреба перетворити купу сканованих сторінок якоїсь суперкниги у щось, що в подальшому було зручно: дивитись, друкувати, зберігати.
На це просте/не просте питання я поки що знайшов для себе декілька варіантів. Це або PDF (PS) book або DjVu-book. Також можлива трансформація з одного в інший, не пряма звістно, а крізь unix-way 🙂

Спочатку я розповім як я роблю PDF-book с купи сканованих (зкачаних з нету) растрових зображень…
Буду використовувати такє ПЗ: imagemagick та psutils
1. Копіюю всі файли у 1 директорію (якщо вони ще не вкупі, то використовуйте будь що для копіювання 🙂 ) ;
2. Якщо вони нумеровані порядно, послідовно… наприклад …245.jpg, 246.jpg... то все чудово прямуємо на п. Головне щоб на вивід команди ls вій файли розташувались за порядком;
3. Якщо файли мають різні назви то треба їх переназвати. Або mv file.jpg 001-file.jpg (наприклад так), або автоматично якось, як Вам до вподоби

4. Далі щоб не робити багато дурної роботи пишемо скрипт:
#!/bin/bash
echo “Create PDF Book from JPG
#Заголовок який буде виведений на консоль

# Цей цикл масштабує зображення до розміру А4 формату (визначив за допомогою #Gimp який розмір необхідний на прикладі 1 файлу)

for i in $( ls *jpg); do
convert $i –resize x1142 $i.jpg
done
# Отримуємо на виході файл за типом file.jpg.jpg

#Перетворюємо купу файлів у
купу pdf
for i in $( ls *jpg.jpg); do
convert $i pdf:$i.pdf
done
#Отримуємо купу файлів за типом file.jpg.pdf

# Збіраємо до одного файлу всі наші сторінки з зображенями

psmergeoall.ps *.pdf

# Отримуємо багатострінковий ps-файл який можна друкувати чи використовувати за #іншими призначеннями хочь і зберігати, хоча файл досить великий за розміром, тому #перетворюємо його у
pdf

# Можливо при тестовому друці не все вийшло добре з розташуванням зображень на #листах, або Ви перед цим не робили зміну розміру зображення (або це не доцільно). #Так от, щоб уникнути колізій та покращити загальний вигляд інколи варто #додатково #переформатувати файл до одного розміру як наприклад от тут:

psresize -h290mm all.ps all_r.ps

#В подальшому перетворюємо PS у PDF

ps2pdf all.ps all.pdf

#Видяляємо тимчасові файли
rm *.jpg.pdf

На виході отримуємо all.pdf файл з купи зображень.

Короткий текст цього скрипту:

#!/bin/bash
echo “Create PDF Book from JPG

for i in $( ls *jpg.jpg); do
convert $i pdf:$i.pdf
done

psmergeoall.ps *.pdf
psresize -h290mm all.ps all_r.ps
ps2pdf all_r.ps all.pdf
rm *.jpg.pdf


Хай щастить!

Leave a Reply

Your email address will not be published.

If you're looking for uniquely crafted & beautiful maps —
let's get in touch!

Fedir Gontsa
Cartographic Designer, GIS Specialist, Architect



© 2008 — 2024 Fedir Gontsa. All rights reserved.
Made with by me
  • fedir {a} gontsa . com
  • Cherkasy, Ukraine
  • +380 93 654-22-24