2016-10-10 8 views
0

У меня есть this eps image с именем «input.eps».Ghostscript отключает часть изображения

я запускаю следующую команду на нем:

gs -dNOPAUSE -dBATCH -q -sDEVICE=ps2write -sOutputFile=output.eps input.eps 

The resulting output file "output.eps" имеет правую часть фигуры отрубили. Зачем?

Примечание. Причина, по которой я использую GhostScript, заключается в изменении шрифтов в файле input.eps, что я сделаю, указав переключатель -I с указанием пути к шрифтам. Я не помещал это в фрагмент кода, поскольку это не имеет отношения к проблеме.

ответ

0

Файлы EPS не запрашивают размер носителя (они предназначены для включения в программу PostScript приложениями). Итак, если вы не сообщите Ghostscript, какой размер носителя использовать, у него нет выбора, кроме как использовать его значение по умолчанию.

В зависимости от вашей операционной системы (и, если необходимо, в случае необходимости), это может быть либо Letter (612 на 792 единицы), либо A4 (596 на 842 единицы). Ваш EPS-файл утверждает, что он имеет ограниченную коробку из 1008 единиц на 504 единицы.

Таким образом, ваш EPS не будет соответствовать всем материалам и поэтому будет обрезано.

Вы можете либо обернуть EPS, как это обычно необходимо для включения в программу PostScript, и запросить там носитель, либо вы можете использовать переключатель -dEPSCrop, который считывает Bounding Box из комментариев и использует это для запроса на мультимедиа ,

Обратите внимание, что, несмотря на существование BoundingBox, это не является технически допустимым файлом EPS. Он имеет неправильный идентификатор DSC и выполняет showpage.

В заключение вы не будете «менять» шрифты в EPS-файле, так как EPS-файл не содержит шрифтов, а просто ссылки на имена шрифтов.

Смежные вопросы