Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Адаптирование скрипта jpg2pdf  (Прочитано 1283 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Zizilk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 56
  • Ubuntu 10.04
    • Просмотр профиля
Адаптирование скрипта jpg2pdf
« : 10 Январь 2011, 17:26:31 »
имею папку с файлами 1.jpg - 135.jpg

нашёл тут скрипт
#!/bin/bash
#Tue Apr 13 23:32:15 MSD 2010

j=0

#Получаем много pdf файлов с именами от 0 до количества jpg-файлов в папке:
for i in `ls ./ | grep .jpg`
do
convert $i -quality 50% $j.pdf
((j++))
done


#Сливаем их в один файл и на уровне выше получаем нужный файл (только сначала нужно поставить пакет "pdftk"):
pdftk *.pdf output ../out.pdf

#Удаляем временные pdf-файлы:
rm *.pdf

Надо на выходе получить один pdf файл.
Скрипт в этом плане работает нормально но что-то странное происходит с порядком страниц. А порядок должен сохранится. Как можно модифицировать скрипт чтобы он собирал pdf в соответствии с нумерацией?

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3144
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Адаптирование скрипта jpg2pdf
« Ответ #1 : 10 Январь 2011, 17:28:33 »
А файлы нумеруются правильно?
ls -1 можно? (из деректории с файлами)
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: http://help.ubuntu.ru/wiki/fixme

Оффлайн Zizilk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 56
  • Ubuntu 10.04
    • Просмотр профиля
Re: Адаптирование скрипта jpg2pdf
« Ответ #2 : 10 Январь 2011, 17:33:04 »
да при просмотре файлов через любой просмоторщик весь порядок сохраняется

(Нажмите, чтобы показать/скрыть)
Примерно в таком порядке он их и сшивает(

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3144
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Адаптирование скрипта jpg2pdf
« Ответ #3 : 10 Январь 2011, 17:50:07 »
#!/bin/bash
#Tue Apr 13 23:32:15 MSD 2010

j=0

#Получаем много pdf файлов с именами от 0 до количества jpg-файлов в папке:
for i in `ls ./ | grep .jpg`
do
if [ $j -lt 10 ]; then convert $i -quality 50% "0$j.pdf" ; fi
if [ $j -lt 100 ]; then convert $i -quality 50% "00$j.pdf" ; fi
if [ $j -qt 100 ]; then convert $i -quality 50% "$j.pdf" ; fi
((j++))
done


#Сливаем их в один файл и на уровне выше получаем нужный файл (только сначала нужно поставить пакет "pdftk"):
pdftk *.pdf output ../out.pdf

#Удаляем временные pdf-файлы:
rm *.pdf

Если я правильно понял.
У вас папка "имею папку с файлами 1.jpg - 135.jpg" откуда берется?

Или у вас до скрипта еще оно криво так?
Скриптом можно переименовать как то так:
#!/bin/bash
j=0
for i in `ls ./ | grep .jpg`
do
if [ $j -lt 10 ]; then mv "$i" "0$j.jpg" ; fi
if [ $j -lt 100 ]; then mv "$i" "00$j.jpg" ; fi
((j++))
done
« Последнее редактирование: 10 Январь 2011, 17:54:04 от RazrFalcon »
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: http://help.ubuntu.ru/wiki/fixme

Оффлайн Zizilk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 56
  • Ubuntu 10.04
    • Просмотр профиля
Re: Адаптирование скрипта jpg2pdf
« Ответ #4 : 10 Январь 2011, 18:03:52 »
jpg так и были получены всей папкой от знакомого. nautilus нормально их сортирует как и различные просмотрщики вывод ls уже рушит сортировку.



Ваш скрипт создаёт по 3 пдф файла (x и 0x и 00x) от каждого jpg
При этом в консоли сквозит ошибка
script.sh: строка 8: [: -qt: ожидается использование бинарного оператора


Пользователь решил продолжить мысль 10 Январь 2011, 18:06:41:
а скрипт по перименованию размножил каждый jpg
« Последнее редактирование: 10 Январь 2011, 18:06:41 от Zizilk »

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3144
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Адаптирование скрипта jpg2pdf
« Ответ #5 : 10 Январь 2011, 18:09:40 »
ААА!
ну тогда с помощью gprename сделайте нормально.
Типа
xxx.jpg
или вы хотите в сам скрипт это добавить.
Тогда как то так.

(Нажмите, чтобы показать/скрыть)
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: http://help.ubuntu.ru/wiki/fixme

Оффлайн Zizilk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 56
  • Ubuntu 10.04
    • Просмотр профиля
Re: Адаптирование скрипта jpg2pdf
« Ответ #6 : 10 Январь 2011, 18:10:47 »

Поправка ваш предыдущий скрипт по переименованию он не размножил, а непонятным образом окончательно перемешал все файлы, те в файле 01.jpg лежит далеко не первая страница
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 10 Январь 2011, 18:12:58 от Zizilk »

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3144
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Адаптирование скрипта jpg2pdf
« Ответ #7 : 10 Январь 2011, 18:13:33 »
первые два 00 убейте и старые тоже
оставте тольк которые нормально уже отсортированы, с 0 в начале.
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: http://help.ubuntu.ru/wiki/fixme

Оффлайн Zizilk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 56
  • Ubuntu 10.04
    • Просмотр профиля
Re: Адаптирование скрипта jpg2pdf
« Ответ #8 : 10 Январь 2011, 18:16:49 »
смысла уже нет убивать, тк и файл 01 и прочие уже не соответвствуют вообще содержанию. Те в этом файле уже не лежит страница которая должна быть первой

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3144
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Адаптирование скрипта jpg2pdf
« Ответ #9 : 10 Январь 2011, 18:28:42 »
Да я уже сам запутался.
Вам надо переименовать файлы так, что бы в ls  они выглядели правильно.
Для этого, скорее всего, надо 0 в начале поставить.
а потом скрипт свой запускайте, из первого поста который.
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: http://help.ubuntu.ru/wiki/fixme

Оффлайн Zizilk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 56
  • Ubuntu 10.04
    • Просмотр профиля
Re: Адаптирование скрипта jpg2pdf
« Ответ #10 : 10 Январь 2011, 19:02:45 »
сбросил новую папку от друга вручную всё переименовал  по ls -1 показывает всё правильно, но
в out.pdf всё равно таже ерунда (ну может быть только первая страница стала на место)
(Нажмите, чтобы показать/скрыть)

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3144
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Адаптирование скрипта jpg2pdf
« Ответ #11 : 10 Январь 2011, 19:04:59 »
(Нажмите, чтобы показать/скрыть)
А вот так? Увидите что оно делает, вдруг значения разные выходят =/
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: http://help.ubuntu.ru/wiki/fixme

Оффлайн suslikk

  • Старожил
  • *
  • Сообщений: 2373
    • Просмотр профиля
Re: Адаптирование скрипта jpg2pdf
« Ответ #12 : 10 Январь 2011, 20:08:20 »
может проще gscan2pdf использовать, но это GUI
Нарисуй свой город на openstreetmap.org

Оффлайн Zizilk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 56
  • Ubuntu 10.04
    • Просмотр профиля
Re: Адаптирование скрипта jpg2pdf
« Ответ #13 : 11 Январь 2011, 13:23:57 »
увы не проще. внутри gscan2pdf тоже перемешиваются страницы при импорте( можно вр учную порядок указать но я скорее застрелюсь.

Проблема имено в том что после создания pdf тот скрипт создаёт их без нулей и если там закоментить удаление в нём временных pdf то получаем туже картину. попробовал найти руководства по башу с циклами и условными операторами, но увы у меня не получилось переделать.

Но сегодня появилась другая идея. jpg у меня ууже поименнованны как надо можно ли адаптировать скрипт чтобы он тупо брал название файла до точки и его же использовал для pdf ?

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3144
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Адаптирование скрипта jpg2pdf
« Ответ #14 : 11 Январь 2011, 13:45:04 »
чтобы он тупо брал название файла до точки и его же использовал для pdf ?
sed 's/.jpg//g' убет "все после точки".
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: http://help.ubuntu.ru/wiki/fixme

 

Страница сгенерирована за 0.055 секунд. Запросов: 22.