На мой взгляд, лучший способ добиться этой цели - не использовать программу с графическим интерфейсом пользователя, а использовать набор сценариев 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 с помощью convert (командная строка из 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, вы можете использовать Notepad или Notepad ++)
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=$(( $ / 2 )) height2=$ if [ $width -gt $minimal_width ]; then echo "split $f $x$ to 2 files $x$" convert $f -crop $x$+0+0 +repage temp2/jpg/$a.jpg convert $f -crop $x$+$width2+0 +repage temp2/jpg/$b.jpg else if [ $width -gt $minimal_width_ignore ]; then # ignore if with < 10px echo "copy $f $x$ (don't split because width<$minimal_width)" cp $f temp2/jpg/$f2 else echo "ignore $f $x$ width=$width<minimal_width_ignore=$minimal_width_ignore" fi fi do
width = 1500px - это предел для разделения файла (или нет)
- файл с шириной более 1500 пикселей будет разделен
- файл шириной менее 1500 пикселей не будет разделен
Сделайте этот скрипт исполняемым
$ 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 (например, для удаления узора Муара или для уменьшения шума) с помощью инструментов командной строки, таких как G'MIC.