Поля исчезают в PDF -> Преобразование PNG с помощью ImageMagick

У меня проблемы с преобразованием PDF в PNG в ImageMagick. Я использовал разные варианты, в том числе с помощью Ghostscript и передачи вывода в ImageMagic (как указано здесь - что не кажется работать на меня, поэтому я должен сохранять во временный файл вместо использования канала). Я обнаружил, что это работает лучше всего для меня:

convert -фон прозрачный -плотность 150x150 Test.pdf Test-IMSoloOut.png

Вот скриншот исходного PDF-файла в моем средстве просмотра (предварительный просмотр в OS X):

Исходный PDF-файл в предварительном просмотре

И когда я конвертирую его, я получаю это:

PNG в предварительном просмотре

Проблема в том, что падает маржа. Я не понимаю, делает ли он их прозрачными или что, но форматирование изображения без полей выглядит неаккуратно.

Мне дали попробовать:

convert -density 150x150 Test.pdf -центр тяжести -прозрачный фон -extent 612x792 Test-Extras.png

И это дает мне только один раздел страницы:

введите здесь описание изображения

Я попытался адаптировать это и изменил 612x792 на 1275x1650, что соответствует 150DPI, умноженному на размер страницы (8,5 x 11 дюймов). Когда я это сделал, я получил большое изображение, но, опять же, поля исчезли, как на втором изображении выше.

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

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

Я предполагаю, что в процессе преобразования поля преобразуются во что-то прозрачное, поэтому я попытался добавить «-прозрачный белый» в командную строку для преобразования, но это не помогло.

Что я могу сделать, чтобы вернуть поля или, если они есть и не видны, как я могу заставить их отображаться? По сути, я хочу, чтобы файл PNG (изображение № 2) выглядел как файл PDF с включенными полями (изображение № 1).

Я подозреваю, что упускаю что-то очевидное - надеюсь, это так просто.

Как я могу убедиться, что пробелы на полях отображаются?


person Tango    schedule 28.12.2012    source источник


Ответы (1)


Я так и не получил точного ответа, но один из людей ImageMagick очень помог с этим. По сути, мне нужно было использовать параметр «-extent», чтобы указать, насколько большим было изображение. Поскольку я использовал другую плотность, чем по умолчанию, я должен был принять это во внимание. Командная строка, которая работала, была:

convert -density 150x150 InputFile.pdf -фоновый белый -units PixelsPerInch -density 150 -extent 1275x1650 OutputFile.png

1275x1650 получается путем умножения 150 (для DPI) на 8,5 дюймов для ширины и на 11 для высоты.

person Tango    schedule 29.12.2012
comment
Мне нужно было extent даже без плотности. Без экстента слайды были обрезаны. - person cayhorstmann; 28.02.2013