Как пакетно объединить JPEG из папок в PDF


18

У меня есть около 500 папок с изображениями внутри. Есть ли способ, которым я мог бы конвертировать это так, чтобы я получил. PDF-файлы, которые содержат все изображения внутри в виде страниц?

РЕДАКТИРОВАТЬ:

Должно быть создано 500 PDF-файлов, каждый из которых содержит имя содержащей папки, а в каждом - изображения в виде страниц.


3
какая ОС? и вы хотите инструмент CLI или GUI? Названы ли файлы в здравом или непротиворечивом виде, и важен ли порядок?
подмастерье Компьютерщик

Mac OS X, это может быть любой инструмент, и у меня есть собственный Acrobat Pro, но я не нахожу этот вариант. Файлы организованы в алфавитном порядке, и я хотел бы сохранить этот порядок. Спасибо
Ска

Ответы:


16

OS X имеет несколько встроенных инструментов для автоматизации обработки изображений и создания PDF.

Просто откройте Automator.app , создайте новое приложение.

Automator.app

Измените его, как показано ниже, перетащив действия из левой панели в правую.

Первый шаг

  • Получить содержимое папки с включенной опцией « Повторить…» получит все ваши файлы, даже из подкаталогов.

  • Новый PDF из изображений создаст один PDF-файл на рабочем столе, каждая страница состоит из одного изображения.

Сохраните приложение где-нибудь (например, в папке / Applications или на рабочем столе). Дайте ему правильное имя, например, «Создать PDF из Image.app». Затем вы можете перетащить свои папки на иконку. Пусть рабочий процесс сделает всю работу за вас.


Выше создается один файл PDF для всех изображений. Если вы хотите иметь один для каждой папки, это будет сложнее.

Во-первых, вам нужно действие Dispense Items постепенно . Установите это. Затем снова откройте Automator и создайте новый рабочий процесс ( не приложение).

Теперь для удобства вы можете скачать рабочий процесс здесь . Если ссылка не работает, просто измените ее, как показано ниже:

Скриншот рабочего процесса

Или в текстовом виде:

  • Получить выбранные элементы Finder
  • Распределение предметов постепенно (тот, который мы установили ранее)
  • Установите значение переменной , чтобы запомнить папку, в которой мы находимся
  • Получить содержимое папки , чтобы получить изображения
  • Новый PDF из изображений , для создания PDF. Здесь возьмите переменную из панели «Переменные» внизу и перетащите ее в поле «Сохранить вывод в…». Это гарантирует, что PDF создается в папке, к которой он принадлежит. Нет простого способа переименовать файл, кроме установки статического имени файла. Вы можете добавить действие Rename Finder items, чтобы установить его.
  • Цикл , чтобы начать с запуска и запустить со следующей папкой. Вы можете отключить часть, где он запрашивает подтверждение.

Сохраните его как рабочий процесс, и теперь вот как его выполнить. Выберите ваши папки в Finder.

Скриншот Finder

Затем перейдите в Automator.app и нажмите « Выполнить» в правом верхнем углу.


С 500 папками это может занять некоторое время. Особенно с изображениями высокого разрешения, ваш PDF может стать огромным. Но вы можете сначала попробовать его на меньшем выделении, а затем запустить рабочий процесс до его завершения.


Удивительно, но все изображения теперь в одном PDF. Можно ли сделать отдельный PDF для каждой содержащей папки? Я даже не знал, что все, что вы можете сделать с Automator, спасибо огромное!
Ска

@ Скай Смотрите мой обновленный ответ. Надеюсь, это работает для вас. Вот где это становится сложнее в Automator, и вы можете подумать о том, чтобы скорее перейти на AppleScript или простой скрипт Bash в сочетании с AppleScript.
Slhck

Не волнуйтесь, я переименую их позже с помощью скрипта bash. Тем не менее, не было бы возможно создать приложение, которое передавало бы выходные данные Get Folder Contents (имя папки) и создавало из него переменную?
Ска

@ Да, вот как вы устанавливаете переменную, но вы не можете использовать переменную в выходном имени PDF. По крайней мере, не так просто.
Slhck

Это потрясающий рабочий процесс. Спасибо за помощь в этом. Я провел прошлую неделю, расшифровывая JPG каждого выпуска National Geographic, и мне нужен был способ конвертировать все 250 000 страниц в PDF, чтобы я мог их распознать и сделать их доступными для поиска. Вы только что спасли меня от тонны ручного труда. Одно из изменений, которое мне пришлось внести в сценарий, - установить период ожидания, превышающий 0 минут по умолчанию. В противном случае он создал только один PDF. Я сделал это с помощью ручного цикла, но это слишком сложное участие в автоматизированном процессе. Я также сказал, чтобы сохранить их в одной папке, так что

22

На OS X

С Homebrew легко установить ImageMagick:

brew install imagemagick

convert *.jpg output.pdf

и если полученный PDF слишком велик, вы можете попробовать:

convert -quality 60 *.jpg output.pdf

Linux, Unix, Windows

Конечно, ImageMagick также может быть установлен в других системах Unix, например, apt-get install imagemagickв Debian и Ubuntu. И даже на Windows через GNU / Cygwin или Chocolately .


3
Намного быстрее, чем ерзать с Preview!
DK_

1
+1 Я думаю, что сравнение между этим и принятым ответом действительно показывает мощь инструментов командной строки (и особенно imagemagick) в такой ситуации!
Билл Читам

1
Это также возможно в окнах. Если вы используете chocolatey (менеджер пакетов для windows):, choco install imagemagick.toolа затем следуйте командам @ convert для KasperSouren.
Жискар Бьямби

5

Более простой способ - просмотреть все изображения в режиме предварительного просмотра, а затем быстро распечатать их в PDF.

http://hints.macworld.com/article.php?story=20090119162659107


Это самый простой способ, так как вы можете открыть папку в Preview. См. Также: superuser.com/questions/350201/…
Дэвид Джеймс

2

Практически на любой системе, в которой вы будете использовать это, лучшим решением может быть ImageMagick . Доступно в * nix, Mac и Windows, поддерживает как подстановочные знаки (так называемые глобальные имена файлов), так и спецификацию списка (например, @ ImagesToProcess.txt) входных файлов, некоторые дополнительные параметры спецификации файлов, мощную командную строку и т. Д.


Это также потребовало бы, чтобы я и GhostScript занимались программированием, кто знает, сколько управления зависимостями. Я предположил бы, что мог бы быть простой инструмент, который делает это. Ведь сценарий использования довольно прост.
Ска

Это не должно быть так сложно - если у вас установлены и ImageMagick, и GhostScript, и ImageMagick, способный найти GS, вы можете просто использовать командную строку IM, которая упрощает создание сценариев. Это предполагает, что глобализация имени файла будет обрабатывать файлы в правильном порядке, но если нет, то все равно будет более сложной. Для Windows есть одно руководство по их совместной работе: stackoverflow.com/questions/3243361/… . Тем не менее, другой ответ лучше для Macs
fencepost

Спасибо за удивительные советы по IM, fencepost. Ты узнаешь что-то новое каждый день. Что касается исходного вопроса, я сначала попробую решение slhck.
Ска

Не за что. Я написал, не понимая, что A) вы использовали Mac и B) поддержка Ghostscript на Mac, по-видимому, значительно слабее или, по крайней мере, не поспевает за Windows и * nix.
забор
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.