После недолгих поисков наткнулся вот здесь на такую команду:
gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combinedpdf.pdf -dBATCH 1.pdf 2.pdf 3.pdf
Ghostscript - пакет, позволяющий просматривать или печатать PostScript и pdf-файлы, конвертировать их в другие форматы, ну и конечно же позволяет сшить множество pdf-файлов в один.
Вот что означают ключи в указанном выше примере команды:
gs
- вызов программы Ghostscript-dBATCH
- завершить работу Ghostscript после выполнения-dNOPAUSE
- производить операции без запросов пользователю-q
- не выводить сообщений-sDEVICE=pdfwrite
- вывод устройством pdfwrite-sOutputFile=
combinedpdf.pdf
- имя результирующего файла-
1.pdf 2.pdf 3.pdf1.pdf 2.pdf 3.pdf
- входные pdf-файлы
Для объединения большого количества pdf-файлов было бы логично использовать механизм каналов в совокупности с какой-нибудь другой командой, ну например с командой
ls
, которая позволяет вывести отсортированным списком все имеющиеся в папке pdf-файлы.Но ни одна из комбинаций команд с использованием механизма каналов у меня результата не дала.
Поизучав документацию к Ghostscript пришел к выводу, что такой номер, в случае с pdf-файлами, не пройдет.
А так хотелось.
И тут, совершенно случайно наткнулся на одном англоязычном ресурсе на комментарий, как раз по этому вопросу.
Суть комментария такова: нужно создать скрипт, и вызывать этот скрипт с указанием в качестве ключа команду
ls
. Ура!Сразу же делаю как сказано в комментарии.
В папке
/usr/local/bin/
создаю файл скрипта combinepdf
следующего содержания:#!/bin/bash
gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combined.pdf -dBATCH $@
и делаю его исполняемым.
Все!
Теперь достаточно вызвать этот скрипт с командой
ls
, в качестве ключа и вуаля!Все работает!
Пример команды:
combinepdf `ls -v -1 *.pdf`
Описание использованных ключей команды
ls
ls
- вывод содержимого каталога-v
- сортировка вывода-1
- вывод по одному файлу в строке
при помощи этого нехитрого скрипта появляется возможность объединения множества pdf-файлов в один, обеспечивая при этом необходимый порядок страниц. За что огромное спасибо
Rick
, оставившему очень полезный комментарий на англоязычном ресурсе
Комментариев нет:
Отправить комментарий