Как конвертировать текстовый файл в изображения постранично

Задача достаточно нетипичная. Я не знаю, зачем тебе это нужно, читатель 🙂 Как и многие статьи на сайте — эту пишу в качестве «шпаргалки» для себя на будущее. Мне это пригождается в контексте моих экспериментов с проверкой текстов на уникальность.

Итак задача — взять текстовый файл, и каждую его страницу сделать отдельным изображением в каком-либо графическом формате (растровом).

Давайте для начала сохраним наш текст в формат PDF. Я думаю, с этим у Вас проблем не возникнет — текст из любой программы можно сохранить в PDF, если не напрямую, то отправив его на печать и выбрав в качестве принтера «Microsoft print to PDF» уж точно — хоть из «Блокнота», в Linux это тоже не проблема.

Теперь разберем получившийся PDF на отдельные изображения.

Простой способ

В более простом случае для этого можно использовать специальный «узконаправленный» софт, например PDFMate Free Pdf Converter. Программка для Windows, для Linux аналогов не знаю, поэтому линуксоиды сразу могут переходить к следующему подзаголовку, там, как раз, решение и для них тоже.

Не буду сравнивать эту софтину с другими, т.к. сам в свое время выбрал по принципу «он первый попался». Программа бесплатная, но имеет более функциональную Pro-версию. Скачать можно вот здесь: https://www.pdfmate.com/pdf-converter-free.html

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

PDFMate Free Pdf Converter

Как видите, конвертировать PDF она умеет в целый ряд форматов, нас же, в контексте статьи, интересует раздел «Image». Выбрав его, в нижней части окна можно указать, куда сохранять получившиеся изображения. Качество изображений можно выбрать в настройках между «Normal Resolution» и «High Resolution». Субъективно, их качество можно оценить как «так себе» и «нормальное» соответственно.

Добавляем PDF-файлы. Можно добавить один файл или папку. Или просто перетащить нужные файлы в окно программы:

PDFMate Free Pdf Converter

Нажимаем «Создать».

В результате, в выбранном вами месте, на каждый PDF будет создана папка с таким же именем, где будут лежать отдельные файлы в формате JPEG, постранично:

Вот пример одной странички:

Задача, поставленная в заголовке статьи — решена! Переходим к следующему способу.

Продвинутый способ

Теперь о более продвинутом способе. Я использую именно его.

Нам потребуется GhostScript. Если Вы заглянете в Википедию, то узнаете, что это — набор программного обеспечения, позволяющего интерпретировать язык PostScript и документы PDF.

GhostScript умеет целую кучу всего, в том числе и нашу задачу он решит запросто. Его дополнительный плюс — кроплатформенность. Есть версии и для Windows, и для Linux и для Mac. И все это, к тому же, бесплатно.

Есть и минус — графического интерфейса у GhostScript нет, так что «общаться» с ним придется через командную строку.

Скачать GhostScript можно с официального сайта — https://www.ghostscript.com/download.html. В Linux, в наиболее популярных дистрибутивах, GhostScript можно установить из репозиториев, а затем вызывать командой ghostscript или, например, в случае с Manjaro — gs.

Далее, открыв консоль в папке, содержащей нужный файл, можно выполнить команду:

Для Linux

ghostscript -o output.tiff -sDEVICE=tiffgray -r720x720 -g6120x7920 -sCompression=lzw input.pdf

Для Windows

"C:\Program Files\gs\gs9.50\bin\gswin64.exe" -o output.tiff -sDEVICE=tiffgray -r720x720 -g6120x7920 -sCompression=lzw input.pdf

Обратите внимание, команда для Windows содержит путь к исполняемому файлу программы, который может меняться в зависимости от версии GhostScript.

Здесь мы, помимо указания на исходный (input.pdf) и целевой (output.tiff) файлы, имеем следующее:

-sDEVICE=tiffgray — указание на то, какой формат следует использовать. С полным списком можно ознакомиться здесь — https://www.ghostscript.com/doc/9.50/Devices.htm

-r720x720 — DPI

-g6120x7920 — разрешение

-sCompression=lzw — сжатие

С этими параметрами можно экспериментировать, в зависимости от того, какой результат вам нужен. У GhostScript достаточно простая и толковая документация с примерами — https://www.ghostscript.com/doc/9.50/Readme.htm

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

Ну и разумеется, повысить удобство применения GhostScript можно с помощью специально заготовленные Batch (в Windows) или Bash (в Linux) скриптов, но это уже совсем другая история 🙂

Софт Комментарии: 0

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.