На мій погляд, найкращий спосіб досягти завдання - це не використовувати графічну програму інтерфейсу користувача, а використовувати колекцію скриптів bash (як, наприклад, в середовищі Unix / Linux), тож якщо у вас є деякі основні знання з програмування, ви зможете робити набагато більше речей, які може надати вам програма GUI.
Спочатку ви можете встановити мінімальну командну лінію Unix, яку ви можете використовувати
я віддаю перевагу Cygwin, оскільки він містить величезну кількість програмного пакету.
Якщо ви бажаєте витягти зображення з PDF встановити також pdfimages pdfimages - це утиліта командного рядка з відкритим кодом для вилучення зображень з файлів PDF. Він вільно доступний як частина poppler-utils та xpdf-utils, та за замовчуванням включений у багато дистрибутивів Linux.
$ pdfimages file.pdf foo
Це використання створює серію пронумерованих зображень із префіксом "foo".
Фактично використовуйте $ mkdir temp $ mkdir temp / jpg
створити тимчасову папку з назвою jpg всередині тимчасової директорії
$ pdfimages -j file.pdf temp/jpg/foo
Скажімо, у вас зараз декілька зображень fooXXXX.jpg у папці temp.
У вашому випадку у вас коли-небудь були фотографії fooXXXX.jpg.
Тепер ви можете генерувати один PDF за допомогою перетворення (командний рядок із ImageMagick)
Тому завантажте ImageMagick http://www.imagemagick.org/ або встановіть його за допомогою менеджера пакетів Cygwin
Перегляньте документацію перетворення (введіть "ImageMagick convert" у вашій улюбленій пошуковій системі)
Отже, ви розумієте, що для перетворення ваших фотографій в один PDF-файл вам доведеться написати
$ convert -compress jpeg temp/*.jpg my_output_file.pdf
Це все ... ;-), але це рішення можна продовжити ...
Уявімо, що відскановані фотографії походять з книги ... 1 файл насправді 2 сторінки вашої книги ...
тож якщо у вас 10 файлів ... у вашій книзі було 20 сторінок ... і ви хочете, щоб ваш PDF також мав 20 сторінок.
Тому вам потрібно розділити зображення, що міститься в одному файлі, щоб зробити по 2 файли для кожної сторінки.
Скажімо, що ваш файл temp / foo0001.jpg, у вас буде 2 файли temp2 / foo0001a.jpg (ліва сторінка) та temp2 / foo0001b.jpg (права сторінка)
Створіть каталог temp2 (куди будуть відправлятися файли з прорізами)
$ mkdir temp2
$ mkdir temp2/jpg
Створіть файл з іменем split_jpg_minw.sh за допомогою текстового редактора (Emacs, VI або якщо ви віддаєте перевагу додатку Windows, можна використовувати Блокнот або Блокнот ++)
minimal_width=1500
minimal_width_ignore=10
rm temp2/jpg/*.jpg
for f in temp/jpg/*.jpg
do
f2=$(basename $f)
read -r width height <<< $( convert $f -format "%w %h" info:)
width2=$(( ${width} / 2 ))
height2=${height}
if [ $width -gt $minimal_width ]; then
echo "split $f ${width}x${height} to 2 files ${width2}x${height2}"
convert $f -crop ${width2}x${height2}+0+0 +repage temp2/jpg/${f2%%.*}a.jpg
convert $f -crop ${width2}x${height2}+$width2+0 +repage temp2/jpg/${f2%%.*}b.jpg
else
if [ $width -gt $minimal_width_ignore ]; then # ignore if with < 10px
echo "copy $f ${width}x${height} (don't split because width<$minimal_width)"
cp $f temp2/jpg/$f2
else
echo "ignore $f ${width}x${height} width=$width<minimal_width_ignore=$minimal_width_ignore"
fi
fi
do
width = 1500px - це межа розділення файлу (чи ні)
- файл із шириною понад 1500 пікс буде розділений
- файл шириною нижче 1500px не розділяється
Зробіть цей сценарій виконуваним
$ chmod +x split_jpg_minw.sh
(ви можете використовувати клавішу вкладки для автоматичного заповнення імені файлу)
Запустіть сценарій
$ ./split_jpg_minw.sh
Розділені файли будуть у папці temp2 / jpg
Створіть новий "розділений" файл.
$ convert -compress jpeg temp2/*.jpg my_output_file_splitted.pdf
Ви можете додати набагато більше варіантів у свою ланцюжок для створення PDF-файлу за допомогою сценарію bash.
Обмежень немає ... просто потрібно вивчити сценарії (але деякі зразки коду іноді набагато корисніші, ніж книги)
Наприклад, ви можете застосувати фільтр до своїх зображень перед створенням файлу PDF (щоб видалити, наприклад, шаблон Moiré або зменшити шум), використовуючи інструменти командного рядка, такі як G'MIC