Как можно автоматически выравнивать и обрезать PDF-файлы, созданные из отсканированных страниц?

Как можно автоматически выравнивать и обрезать PDF-файлы, созданные из отсканированных страниц?

Возможный дубликат:
Какое бесплатное программное обеспечение можно использовать для выравнивания перекоса отсканированных изображений?

У меня есть несколько PDF-файлов, составленных из сканов страниц книг. Сканы сделаны с двух страниц за раз, и некоторые из этих сканов перекошены, из-за чего текст выглядит слегка наклоненным.

Я ищу инструмент, который позволит мне сделать автоматическую оптимизацию путем выравнивания сканов без потери читабельности. Я нашел программное обеспечение GPLБриссобрезать сканы так, чтобы соотношение сторон страницы было 1:1 вместо 2:1, но у меня нет инструмента для выравнивания перекоса страниц.

Я наткнулся нанебумажный, еще один инструмент с открытым исходным кодом, который, как мне кажется, идеально подходит для того, что я хочу сделать, но этот инструмент работает только на Linux и не работает напрямую с файлами PDF.

Любая подсказка будет оценена по достоинству.

решение1

Посмотри наперекос. Это командная строка. Загружаемый *zip-файл, похоже, включает в себя двоичные файлы для Windows, MacOSX и Linux.

Лицензия — MPL (Mozilla) или LPGL (GNU), в зависимости от вашего предпочтения.

Единственный недостаток для вас, кажется, в том, что он не потребляет PDF, только изображения PNG и TIFF (AFAICS). Это означает, что вам придется настроить рабочий процесс, например:

 PDF.orig -> PNG.orig -> PNG.deskewed -> PDF.deskewed

Я сам (пока) не тестировал его, просто недавно наткнулся на этот сайт и добавил его в закладки.

решение2

О, позвольте мне добавить еще один ответ. Я только что вспомнилнетпбм. Я не пользовался им много лет, но думаю, стоит взглянуть по-новому...

netpbm — очень мощный набор инструментов для командной строки для манипуляции графическими изображениями. Он содержит около 300 отдельных инструментов. Он включает конвертеры для около 100 графических форматов.

А также имеется инструмент командной строки, который может поворачивать изображения:

pnmrotate

И есть еще один инструмент, который пытается определить угол поворота изображений:

pamtilt

pamtiltвозвращает плавающее число своего предположения о повороте изображения. Таким образом, автоматическое устранение перекоса изображений должно быть в пределах досягаемости. Для этого можно написать скрипт оболочки. Это потребует других шагов:

  1. Конвертируйте PDF-страницу в формат изображения, подходящий для netpbm, с помощью Ghostscript.
  2. Используйте pamtiltдля автоматического определения угла наклона изображения.
  3. Используйте pnmrotateдля устранения перекоса изображения.
  4. Повторно конвертируйте изображение в PDF.

Если вы предоставите мне доступ к небольшому образцу ваших PDF-файлов, я мог бы попытаться разработать скрипт для выполнения этой задачи.


(Я очень удивляюсь, почему [netpbm] не имеет тега здесь, на superuser+stackoverflow.)

Связанный контент