Автор Тема: Создание многостраничного pdf из jpg файлов. (Решено)  (Прочитано 5528 раз)

Оффлайн igorigor76

  • Завсегдатай
  • *
  • Сообщений: 651
Здравствуйте уважаемые.

Задача такая.
1. Сканирую документы в xsane (бухгалтерские договора, счета, акты и т. д.): цвет, 300 dpi, качество сохранения jpg 25%. Так нужно мне.
2. Для Федерального казначейства нужно pdf. Как можно меньшее по размеру но читаемое. Примерно так: черно-белое, 100 dpi, качество сохранения jpg 25%.

Давно мучает проблема создания многостраничного pdf из jpg файлов.
Cups-PDF по ряду причин не подходит. На форуме я уже писал об имени файла http://forum.altlinux.org/index.php?topic=24021.0, так же нет возможности настройки цветности (серое или черно-белое). И как мне кажется он jpg не сжимает. В результате получается не то что нужно. Пока пользуюсь LibreOffice: Файл - Экспорт в pdf. Но лишние движения надоели.

Есть что-то совершеннее чем Cups-PDF?

Наткнулся на статью http://www.oracle-linux.ru/?10. Можно ли этот скрипт переработать под  XFCE.
« Последнее редактирование: 15.05.2015 20:37:06 от igorigor76 »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
http://stream-recorder.com/forum/create-multi-page-pdf-file-jpeg-files-t9623.html

convert *.jpg file.pdf
Фактически эта строка и конвертирует. Остальное — ненужная обвязка.
Андрей Черепанов (cas@)

Оффлайн igorigor76

  • Завсегдатай
  • *
  • Сообщений: 651

convert *.jpg file.pdf
Фактически эта строка и конвертирует. Остальное — ненужная обвязка.

У меня в папке лежат jpg файлы с разными именами.
Договор_2_от_01_сентября_2014_01.jpg
Договор_2_от_01_сентября_2014_02.jpg
Договор_2_от_01_сентября_2014_03.jpg
Счет_4654_от_22_сентября_2014_01.jpg
Счет_4654_от_22_сентября_2014_02.jpg
Счет_7895_от_30_октября_2014_01.jpg
Счет_7895_от_30_октября_2014_01.jpg
и т.д.
Мне нужны pdf файлы:
Договор_2_от_01_сентября_2014.pdf
Счет_4654_от_22_сентября_2014.pdf
Счет_7895_от_30_октября_2014.pdf

Поэтому "ненужная обвязка" мне нужна.

Онлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 234
convert Договор_2_от_01_сентября_2014_*.jpg Договор_2_от_01_сентября_2014.pdf

Инфлэйм

  • Гость
Но лишние движения надоели.
Для ленивых, дабы не вбивать команду convert для каждого файла отдельно, можно конвертнуть файлы скопом командой 
for i in *.jpg; do convert $i $i.pdf; doneВ результате получим кучу одностраничных PDF-ок.

Теперь, чтобы склеить их в один документ, установите pdftk - консольную утилитку (есть  в репозиториях).

После установки утилитки, нужно собрать готовые PDF'ки командой:

pdftk *.pdf cat output /home/user/my.pdfВ итоге, в хомяке появится многостраничный PDF-документ (в данном случае файл my.pdf)
« Последнее редактирование: 14.05.2015 16:16:03 от Инфлэйм »

Оффлайн igorigor76

  • Завсегдатай
  • *
  • Сообщений: 651
yaleks, Инфлэйм спасибо за предложения.

На мой вкус, применение скрипта как описано в упомянутой статье, гораздо изящнее и меньше по количеству движений.

Собственно ответа на поставленный вопрос я так и не получил.
Можно ли этот скрипт переработать под XFCE а точнее под thunar используемый по умолчанию. Или пробовать ставить nautilus.


Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 972
Можно ли этот скрипт переработать под XFCE а точнее под thunar используемый по умолчанию. Или пробовать ставить nautilus.

можно.
http://docs.xfce.org/xfce/thunar/custom-actions
http://forum.ubuntu.ru/index.php?topic=222952.0
« Последнее редактирование: 14.05.2015 18:10:17 от YYY »

Оффлайн igorigor76

  • Завсегдатай
  • *
  • Сообщений: 651
Можно ли этот скрипт переработать под XFCE а точнее под thunar используемый по умолчанию. Или пробовать ставить nautilus.

можно.
http://docs.xfce.org/xfce/thunar/custom-actions
http://forum.ubuntu.ru/index.php?topic=222952.0

Спасибо YYY.
Есть ли что-то подобное для thunar: $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS: Список выделенных мышью файлов, разделенных переводом строки?

Я установил nautilus. Папка для скриптов /home/<тут ваше имя пользователя>/.local/share/nautilus/script Скрипт из статьи http://www.oracle-linux.ru/?10 работает.

И еще , пожалуйста, подскажите как изменить этот скрипт
#!/bin/bash
data=`/bin/date +%d.%m.%Y_%H-%M-%S` # формат даты 05.08.2013_22-08-00

temp_file=$data.tmp

ss=$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS # Список выделенных мышью файлов, разделенных переводом строки
# переменная $ss внутри цикла будет получать очередной путь каждого следующего выделенного мышью файла
echo "$ss" | while read line; do
    if [ ${#line} -gt 0 ]; then
# список выделенных мышью файлов помещаем во временный файлик (предварительно
# заменив перенос строки на пробел и удалив часть строки пути к файлу с помощью basename)
echo `basename "$line"`|tr "\n" " ">> $temp_file 
    fi
done

str=$(<$temp_file) # в переменную $str заносим данные из временного файла
convert $str $data.pdf # конвертируем выделенные файлы .jpg во многостраничный PDF
rm -rf $temp_file # удаляем временный файлик
exit
так, чтобы имя создаваемого pdf файла совпадало с именем выделенного (или именем первого из выделенных) jpg файла (файлов).
« Последнее редактирование: 26.05.2015 11:07:52 от igorigor76 »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Да создайте какую-нибудь вспомогательную переменную, типа:
if  [ -z $file ];then
file=$(basename "$line .jpg)
fi

Оффлайн igorigor76

  • Завсегдатай
  • *
  • Сообщений: 651
Да создайте какую-нибудь вспомогательную переменную, типа:
if  [ -z $file ];then
file=$(basename "$line .jpg)
fi


Куда и как это вставить в скрипт?

Оффлайн black

  • alt linux team
  • ***
  • Сообщений: 461
1. Сканирую документы в xsane (бухгалтерские договора, счета, акты и т. д.): цвет, 300 dpi, качество сохранения jpg 25%. Так нужно мне.
2. Для Федерального казначейства нужно pdf. Как можно меньшее по размеру но читаемое. Примерно так: черно-белое, 100 dpi, качество сохранения jpg 25%.

Давно мучает проблема создания многостраничного pdf из jpg файлов.

Практически каждый день это делаю. Для решения обоих задач примерно так:
convert -depth 100 dogovor-p* dogovor.pdf
Иногда бывает нужно обесцветить - добавляем  -colorspace GrayЕсли нужно повернуть (счет-фактура!) то -rotate "-90" к нужному образу.
И никаких "огородов" со скриптами не надо.

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 972

Есть ли что-то подобное для thunar: $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS: Список выделенных мышью файлов, разделенных переводом строки?


Там же вроде все понятно и по-русски :)

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 972
и даже работает...

Оффлайн igorigor76

  • Завсегдатай
  • *
  • Сообщений: 651

Практически каждый день это делаю. Для решения обоих задач примерно так:
convert -depth 100 dogovor-p* dogovor.pdf
Иногда бывает нужно обесцветить - добавляем  -colorspace GrayЕсли нужно повернуть (счет-фактура!) то -rotate "-90" к нужному образу.

По опциям понятно, я еще использую resize и quality.
Не получается использовать density. Вы не пробовали?


И никаких "огородов" со скриптами не надо.

А Вы попробуйте со скриптами, вдруг понравится ;-D

Здесь http://forum.ubuntu.ru/index.php?topic=261257.0 подсказали как подправить скрипт.
Здесь http://gnome-look.org/content/show.php/Nautilus+Scripts+for+PDF+Management?content=161987 еще интересные скрипты для манипуляций с pdf.

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 972
-