Полетата изчезват в PDF -› Преобразуване на PNG с ImageMagick

Имам проблеми с конвертирането на PDF в PNG в ImageMagick. Използвал съм различни варианти, включително използване на Ghostscript и прехвърляне на изхода към ImageMagic (както е дадено тук - което не изглежда да работи за мен, така че трябва да запазя във временен файл, вместо да използвам канал). Открих, че това работи най-добре за мен:

convert -background transparent -density 150x150 Test.pdf Test-IMSoloOut.png

Ето екранна снимка на оригиналния PDF в моята програма за преглед (Preview, на OS X):

Оригинален PDF файл във визуализация

И когато го конвертирам, получавам това:

PNG във визуализация

Проблемът е, че намалява маржовете. Не съм наясно дали ги прави прозрачни или какво, но форматирането на изображението изглежда небрежно без полета.

Дадоха ми да опитам това:

convert -density 150x150 Test.pdf -gravity center -background transparent -extent 612x792 Test-Extras.png

И това ми дава само една част от страницата:

въведете описание на изображението тук

Опитах се да адаптирам това и промених 612x792 на 1275x1650, което ще побере 150 DPI, умножено по размера на страницата (8,5" x 11"). Когато го направих, получих голямо изображение, но отново полетата бяха изчезнали, както на второто изображение по-горе.

Тези изображения ще бъдат показани в програма на Java, която ще показва определен брой страници, така че полетата могат да варират (с други думи, не мога просто да увия зададена рамка около изхода, както се вижда на второто изображение, тъй като размерът на рамката ще се промени в някои изображения).

Виждал съм редица попадения за премахване на полета за конвертиране на PDF в PNG, но изглежда не предоставят нищо, което да ми помогне.

Предполагам, че в процеса на преобразуване полетата се преобразуват в нещо прозрачно, така че се опитах да добавя "-transparent white" към командния ред за преобразуване, но това не помогна.

Какво мога да направя, за да върна полетата или, ако са там и не се виждат, как мога да ги накарам да се показват? По принцип искам PNG файлът (изображение #2) да изглежда като PDF файла с включени полета (изображение #1).

Подозирам, че пропускам нещо очевидно - надявам се да е толкова лесно.

Как мога да се уверя, че пространството в полетата се показва?


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


Отговори (1)


Никога не получих точен отговор, но един от хората от ImageMagick беше доста полезен с това. По принцип трябваше да използвам опцията "-extent", за да уточня колко голямо е изображението. Тъй като използвах плътност, различна от стандартната, трябваше да взема предвид и това. Командният ред, който работеше, беше:

convert -density 150x150 InputFile.pdf -background white -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