Я использовал Ghostscript для преобразования моих единственных графиков числа, представленных в PDF к PNG:
gswin32c -sDEVICE=png16m -r300x300 -sOutputFile=junk.png ^
-dBATCH -dNOPAUSE Figure_001-a.pdf
Это работает в смысле, я вывожу PNG, и он содержит график.
Но это содержит огромное количество пробела также (исходное изображение в качестве примера: http://cdsweb.cern.ch/record/1258681/files/Figure_001-a.pdf).
При просмотре его в Acrobat, Вы отметите, что нет никакого пробела вокруг графика. При использовании вышеупомянутой командной строки, Вы найдете, что график только о 1/3 пространства.
При выполнении того же самого с файлом EPS я сталкиваюсь с той же проблемой. Однако существует параметр командной строки -dEPSCrop
тот может передать, чтобы заставить механизм визуализации PS обращать внимание на BoundingBox.
Мне нужен подобный аргумент в пользу рендеринга PDFs. Я не смог найти его в документах (ни даже -dEPSCrop
, на самом деле).
Пробовали ли вы использовать pdfcrop , используя pdftex (например, поставляется с texlive) или (еще не пробовал) скрипт python pdfcrop ?
У меня есть аналогичный рабочий процесс с использованием первого упомянутого инструмента.
Существуют различные опции для управления тем, какой "размер носителя" Ghostscript отображает для данного ввода:
-dPDFFitPage
-dUseTrimBox
-dUseCropBox
При использовании PDFFitPage Ghostscript будет рендерить под текущий размер устройства страницы (обычно размер страницы по умолчанию). При UseTrimBox он будет использовать TrimBox (и в то же время установит PageSize в это значение). При UseCropBox будет использоваться CropBox (и одновременно будет установлен PageSize на это значение). По умолчанию (без параметра) Ghostscript будет рендерить с помощью MediaBox.
Для вашего примера, похоже, что добавление "-dUseCropBox"
сделает работу, которую вы ожидаете.
Обратите внимание, вы можете дополнительно контролировать общий размер вывода, используя "-sPAPERSIZE"
(выберите одно из всех предопределенных значений, известных Ghostscript) или (для большей гибкости) используйте "-dDEVICEWIDTHPOINTS=NNN -dDEVICEHEIGHTPOINTS=NN"
.