Как предотвратить создание лишнего пробела в pdftoppm

Вопрос или проблема

Я пытаюсь преобразовать график из pdf в png-изображение, используя pdftoppm.

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

Как мне этого избежать? Большое спасибо.преобразованный график имеет дополнительное пустое пространство слева


Обновление: чтобы избежать путаницы, я добавляю оригинальный pdf-файл. Это не pdf-файл, содержащий изображение, а состоит из различных типов объектов, включая текст и геометрические объекты. Так что вы можете выбрать и скопировать текст, когда читаете pdf-файл.

Ссылка на оригинальный график (pdf): https://cds.cern.ch/record/1703270/files/Figure_006.pdf

Я только что просмотрел man-страницу pdftoppm. pdftoppm предоставляет опцию -cropbox

-cropbox    : использовать обрезную рамку вместо медийной рамки

Поскольку моя проблема связана с обрезкой изображения, я попробовал эту опцию, и это сработало.

$ pdftoppm -png -cropbox my-pdf-file.pdf > my-convert-image.png

Ответ или решение

Чтобы избежать добавления лишнего пространства при конвертации PDF-файла в PNG с помощью pdftoppm, важно понимать, как этот инструмент работает с различными областями вывода файла. По умолчанию, pdftoppm использует медиабокс (media box), который является самой большой областью, включающей в себя все содержание страницы. Иногда это приводит к появлению нежелательных пробелов, например, щели слева от изображения.

Теория:

Инструмент pdftoppm из пакета Poppler работает с PDF-файлами и позволяет конвертировать их в растровые изображения различных форматов, включая PNG. Существует несколько "областей" в PDF-файле: медиабокс, кропбокс (crop box), блитбокс (bleed box) и другие. Медиабокс—самая большая из них, которая зачастую используется по умолчанию, но она может включать также и часть белого пространства вокруг содержания. В таких случаях, чтобы избежать лишних пробелов, рекомендуется использовать кропбокс, который обычно задает границы отображаемого содержания.

Пример:

В вашем случае, как вы уже обнаружили, использование опции -cropbox устранило проблему. Это произошло потому, что кропбокс может не включать эти лишние участки по бокам, фокусируясь на ключевом содержимом страницы.

Применение:

Чтобы предотвратить добавление лишних пробелов при конвертации PDF-файла, рекомендуется использовать следующую команду:

pdftoppm -png -cropbox my-pdf-file.pdf > my-convert-image.png

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

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

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

Капча загружается...