После недолгих поисков наткнулся вот здесь на такую команду:
gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combinedpdf.pdf -dBATCH 1.pdf 2.pdf 3.pdfGhostscript - пакет, позволяющий просматривать или печатать 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`Описание использованных ключей команды
lsls- вывод содержимого каталога-v- сортировка вывода-1- вывод по одному файлу в строке
при помощи этого нехитрого скрипта появляется возможность объединения множества pdf-файлов в один, обеспечивая при этом необходимый порядок страниц. За что огромное спасибо
Rick, оставившему очень полезный комментарий на англоязычном ресурсе
Комментариев нет:
Отправить комментарий