Нет проблемы быстро сканировать документы с любым количеством страниц, если под рукой есть сканер с устройством автоматической подачи. Однако часто МФУ имеют дуплексную двустороннюю печать и сканер, который умеет сканировать только с одной стороны, но имеет устройство автоматической подачи документов.
При этом сканирование больших двухсторонних документов выглядит проблемой, которая поедает большое количество времени.
Ведь если документ состоит всего из нескольких страниц, то нет необходимости связываться с командной строкой, потому что можно вручную склеить сканы в любой программе, которая работает с 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:
Загрузите установщик PDFtk с веб-сайта PDFtk: https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
Дважды щелкните загруженный файл, чтобы запустить программу установки.
Следуйте инструкциям программы установки, чтобы завершить процесс установки.
После завершения установки откройте командную строку и введите
pdftk
, чтобы убедиться, что инструмент успешно установлен.
macOS:
Установите Homebrew (если он еще не установлен), введя в Терминале следующую команду:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
После установки Homebrew введите в Терминале следующую команду, чтобы установить PDFtk:
brew install pdftk
После завершения установки введите
pdftk
в Терминале, чтобы убедиться, что инструмент успешно установлен.
Linux:
Откройте Терминал и введите следующую команду для установки PDFtk:
sudo apt-get install pdftk
После завершения установки введите
pdftk
в Терминале, чтобы убедиться, что инструмент успешно установлен.Примечание. Приведенные выше инструкции предназначены для установки PDFtk в дистрибутиве Linux на основе Ubuntu. Процесс установки может отличаться для других дистрибутивов Linux.
Склеиваем два сканированных файла в один
Теперь в одной папке находятся два файла:
Лицевая сторона.pdf
— в котором прямой порядок страниц.Оборотная сторона.pdf
— где обратный порядок страниц: от самой последней к самой первой.
Вызываем в терминале команду:
pdftk A="Лицевая сторона.pdf" B="Оборотная сторона.pdf" shuffle A1-end Bend-1 output "Готовый скан.pdf"
Если всё прошло успешно, то программа не выдаёт никакой информации об ошибках.
Проверяйте папку, где появился файл Готовый скан.pdf.
Можно использовать запуск склейки.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 вы используете.
Автор: Михаил Шардин,
15 марта 2023 г.