У меня есть двухсторонний печатный многостраничный документ для сканирования с помощью линейного сканера. Итак, в результате я получаю 2 файла PDF: один содержит все нечетные страницы, а второй содержит все четные страницы. Мне нужно объединить их естественным путем:
1. <- 1.1. (odd.pdf page 1 to result.pdf page 1)
2. <- 2.1. (even.pdf page 1 to result.pdf page 2)
3. <- 1.2. (odd.pdf page 2 to result.pdf page 3)
4. <- 2.2. (even.pdf page 2 to result.pdf page 4)
и т.п.
CAM::PDF
, я дам вам скрипт позже. Два PDF имеют одинаковое количество страниц?Ответы:
Смотрите
pdfseparate
иpdfunite
команды отpoppler-utils
. Первый разделит страницы из каждого документа в отдельные файлы, а второй объединит их в том порядке, в каком вы хотите в новом документе.Также обратите внимание, что, поскольку сканеры в любом случае предоставляют вам растровые изображения (которые некоторые, например, ваши, могут объединять в файлы PDF), возможно, вы можете настроить его так, чтобы вместо него выводились изображения (png, tiff ...), и выполнить объединение в PDF самостоятельно с помощью ImageMagick.
источник
У pdftk есть команда shuffle, которая сортирует страницы:
источник
Просто
bash
быстрый выстрел, используяpdfjam
:Создайте массив входных аргументов:
Это должно позволить вам использовать его в качестве списка ввода для
pdfjoin
:источник
pdfjoin
это скрипт-оболочка,pdfjam
который сам является сценарием-оболочкой дляpdfpages
пакета LaTeX (и pdflatex), так что это означает, что он выводит LaTeX в качестве зависимости.Вы можете использовать модуль Mix в PDFsam Basic (бесплатно и с открытым исходным кодом) или делать это онлайн, используя функцию Alternate & Mix в Sejda.
источник
Я хотел сделать в основном то же самое, и ответ Стефана Шазеласа был очень полезным. Я делаю это достаточно часто, чтобы написать простой скрипт на Python для автоматизации вещей, используя предложенные им команды. По умолчанию он меняет порядок четных страниц, но это можно подавить с помощью флага командной строки.
Вопрос довольно старый, поэтому я ожидаю, что потребности первоначального аскера уже удовлетворены. Однако, возможно, что сценарий будет полезен людям, которые приедут сюда в будущем, поэтому я разместил его ниже.
источник
Я сталкивался с этим сценарием bash, делающим это, он предполагает, что вы отсканировали четные страницы в обратном порядке, но вы можете изменить это, удалив
-r
в строке высказываниеevenpages=($(ls "$evenbase-$key-"* | sort -r))
(это строка 46)Источник
источник