Нет проблемы быстро сканировать документы с любым количеством страниц, если под рукой есть сканер с устройством автоматической подачи. Однако часто МФУ имеют дуплексную двустороннюю печать и сканер, который умеет сканировать только с одной стороны, но имеет устройство автоматической подачи документов.

При этом сканирование больших двухсторонних документов выглядит проблемой, которая поедает большое количество времени.

Инструкция, которую надо сканировать и она частично распечатана с двух сторон
Инструкция, которую надо сканировать и она частично распечатана с двух сторон

Ведь если документ состоит всего из нескольких страниц, то нет необходимости связываться с командной строкой, потому что можно вручную склеить сканы в любой программе, которая работает с PDF, просто переставив местами страницы или даже вручную перевернув их на сканере.

Но что если документ А4 формата имеет несколько десятков или даже сотен страниц как на фотографии?

TL;DR

Решение: используйте консольную программу PDFtk:

pdftk 
A="Лицевая сторона.pdf" 
B="Оборотная сторона.pdf" 
shuffle A1-end Bend-1 
output "Готовый скан.pdf"

Сосканируйте лицевые и оборотные стороны в два отдельных файла

Расшейте документ перед сканированием и убедитесь что не осталось скрепок, скрепляющих листы.

Неважно насколько толстый по объему документ — при сканировании пачки можно разбить все страницы на небольшие группы и добавлять содержимое в один файл — во многих программах сканирования это делает кнопкой добавить.

Сканирование лицевых сторон
Сканирование лицевых сторон

После того как сканирование лицевых сторон завершено вы получите многостраничный файл с условным названием Лицевая сторона.pdf.

Дальше переворачиваем все страницы чтобы оборотная сторона стала лицевой. При этом некоторые оборотные страницы могут быть пустые — ничего разбирать или убирать не надо.

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

Сканирование оборотных сторон
Сканирование оборотных сторон

После того как сканирование оборотных сторон завершено вы получите ещё один многостраничный файл, но уже с другим условным названием — Оборотная сторона.pdf.

При этом страницы в нём будут идти в обратном порядке: от самой последней к самой первой.

Магия программы PDFtk

PDFtk (сокращение от PDF Toolkit) — это инструмент командной строки для работы с PDF‑файлами. Он позволяет пользователям объединять несколько PDF‑файлов в один документ, разбивать PDF‑документ на несколько меньших документов, поворачивать страницы, добавлять водяные знаки, прикреплять файлы к PDF‑файлам и многое другое.

PDFtk доступен для Windows, macOS и Linux и может использоваться вместе с другими инструментами командной строки или сценариями для автоматизации задач, связанных с PDF. PDFtk также можно использовать в качестве библиотеки для таких языков программирования, как Python и Ruby.

PDFtk больше не поддерживается, но его функциональность по‑прежнему полезна. Альтернативы PDFtk включают, среди прочего, QPDF, PyPDF2 и pdftk‑java.

Как установить программу PDFtk

Процесс установки PDFtk зависит от вашей операционной системы. Вот шаги для установки PDFtk в Windows, macOS и Linux:

Windows:

  1. Загрузите установщик PDFtk с веб-сайта PDFtk: https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/

  2. Дважды щелкните загруженный файл, чтобы запустить программу установки.

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

  4. После завершения установки откройте командную строку и введите pdftk, чтобы убедиться, что инструмент успешно установлен.

macOS:

  1. Установите Homebrew (если он еще не установлен), введя в Терминале следующую команду:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

  2. После установки Homebrew введите в Терминале следующую команду, чтобы установить PDFtk:

    brew install pdftk

  3. После завершения установки введите pdftk в Терминале, чтобы убедиться, что инструмент успешно установлен.

Linux:

  1. Откройте Терминал и введите следующую команду для установки PDFtk:

    sudo apt-get install pdftk

  2. После завершения установки введите pdftk в Терминале, чтобы убедиться, что инструмент успешно установлен.

    Примечание. Приведенные выше инструкции предназначены для установки PDFtk в дистрибутиве Linux на основе Ubuntu. Процесс установки может отличаться для других дистрибутивов Linux.

Склеиваем два сканированных файла в один

Теперь в одной папке находятся два файла:

  1. Лицевая сторона.pdf — в котором прямой порядок страниц.

  2. Оборотная сторона.pdf — где обратный порядок страниц: от самой последней к самой первой.

Вызываем в терминале команду:

pdftk A="Лицевая сторона.pdf" B="Оборотная сторона.pdf" shuffle A1-end Bend-1 output "Готовый скан.pdf"

pdftk под Windows
pdftk под Windows

Если всё прошло успешно, то программа не выдаёт никакой информации об ошибк��х.

Проверяйте папку, где появился файл Готовый скан.pdf.

Готовый скан на 162 страницы
Готовый скан на 162 страницы

Можно использовать запуск склейки.bat файл:

:: ===============================================
:: Как сканировать многостраничные двухсторонние документы, если под рукой только обычный сканер с автоподачей
:: 
:: Нет проблемы быстро сканировать документы с любым количеством страниц, если под рукой есть сканер с устройством автоматической подачи. Однако часто МФУ имеют дуплексную двустороннюю печать и сканер, который умеет сканировать только с одной стороны, но имеет устройство автоматической подачи документов.
:: 
:: При этом сканирование больших двухсторонних документов выглядит проблемой, которая поедает большое количество времени.
:: Ведь если документ состоит всего из нескольких страниц, то нет необходимости связываться с командной строкой, потому что можно вручную склеить сканы в любой программе, которая работает с PDF, просто переставив местами страницы или даже вручную перевернув их на сканере.
:: Но что если документ А4 формата имеет несколько десятков или даже сотен страниц как на фотографии?
:: 
:: Подробнее: https://habr.com/ru/articles/721846/
:: 
:: Михаил Шардин, https://shardin.name/
:: ===============================================

@echo off
for /F "usebackq tokens=1,2 delims==" %%i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if '.%%i.'=='.LocalDateTime.' set ldt=%%j
set ldt=%ldt:~0,4%-%ldt:~4,2%-%ldt:~6,2%_%ldt:~8,2%-%ldt:~10,2%
echo %COMPUTERNAME%, %ldt%
pdftk A="2023-06-20-0001.pdf" B="2023-06-20-0002.pdf" shuffle A1-end Bend-1 output "%ldt%_scan.pdf"
pause

На этом миссия выполнена — после склейки получается обычный скан с нормальным порядком страниц. Дополнительно, пустые страницы можно удалить отдельно.

Актуальная версия скрипта всегда доступна на на гитхабе.

⚠️ У статьи вышло продолжение: ⚠️
Как убрать пустые оборотные страницы из PDF после двухстороннего сканирования.

Что в итоге

Если у вас нет двухстороннего сканера, то работа с PDFtk через командную строку полностью решает проблему двустороннего сканирования независимо от того Linux, Windows или macOS вы используете.

Автор: Михаил Шардин
🔗 Моя онлайн-визитка
📢 Telegram «Умный Дом Инвестора»

15 марта 2023 г.