MyTetra Share
Делитесь знаниями!
Способы объединения нескольких pdf-файлов в один
Время создания: 15.01.2009 17:36
Текстовые метки: pdf, ps, объединить, соединить, страницы, листы, в один, GhostScript
Раздел: Компьютер - Linux - Формат PDF
Запись: xintrea/mytetra_syncro/master/base/0000000719/text.html на raw.github.com

Иногда необходимо объединить некоторое количество PDF файлов в один. Это могут быть и главы книги и какие-либо иные, связанные по смыслу или содержимому файлы, которые вам понадобилось представить в виде одного. Приведем несколько способов, позволяющих сделать это.


1. Использование GhostScript напрямую. Ghostscript - пакет, позволяющий вам просматривать или печатать PostScript и PDF файлы, а также конвертировать их в другие форматы. Данный пакет достаточно часто используется, но вместе с тем, немногие пользуются его возможностями для объединения файлов PDF.


$ gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=single.pdf part1.pdf part2.pdf


где

  • gs -- собственно вызов Ghostscript
  • -dBATCH -- завершить работу Ghostscript после завершения объединения
  • -dNOPAUSE -- производить операции без запросов пользователю
  • -q -- не выводить сообщений (тихий режим)
  • -sDEVICE=pdfwrite -- использовать встроенную утилиту для работы с PDF файлами
  • -sOutputFile=single.pdf -- имя результирующего файла


Если вам часто приходится производить операцию объединения, то можно добавить в настройки вашей оболочки следующую строку, убыстряющую вызов:


$ alias pdflink='gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=./result.pdf'


Аналогично gs работает и с PS файлами.


Для пользователей Windows - Ghostscript существует и под Windows, качается с официального сайта. Бинарник, аналогичный gs, находится здесь:


C:\Program Files\gs\gs9.15\bin\gswin32c.exe




2. joinPDF - консольная утилита для объединения, написанная на Java и требующая JRE для своей работы. Использование достаточно тривиальное:


$ joinpdf result.pdf part1.pdf part2.pdf



3. Способ для пользователей KDE: kprinter, служащий GUI для работы с Ghostscript. Нужно выбрать вывод в файл соответствующего типа (PDF,PS) и добавить объединяемые части в порядке их следования в результирующем файле.



4. Ещё есть pdftk, для более разнообразных действий. зависимостей, вроде как, нет. Эта штука лучше других и аккуратнее объединяет pdf файлы. Пример её и использования:


pdftk in1.pdf in2.pdf cat output out1.pdf


Особенность pdftk в том, что при сборке PDF он не вычленяет листы из исходных документов чтобы вставить их в итоговый. Вместо это происходит "склеивание" исходных PDF-файлов в один. Поэтому если собирать итоговый PDF из одностраничных PDF-документов, то следует учитывать, что заголовки каждого PDF-документа никуда не денутся. Расход будет примерно 15-20 Кб на одну страницу. Это может стать критичным, если, например, собирается книга из 1000 страниц.


5. Можно воспользоваться утилитой объединения pdf-файлов pdfunite из пакета poppler:


pdfunite file-10.pdf file-11.pdf sample.pdf



 
MyTetra Share v.0.59
Яндекс индекс цитирования