SVG для печати графики

17

Насколько хорошо Scalable Vector Graphics работает для печати?

Мне нужно программно генерировать графику для включения в печатные документы. Кажется, есть только два серьезных претендента на целевой формат файла, EPS и SVG.

Как программист, с SVG легче работать, но, похоже, он не был принят в графической индустрии. Раньше были проекты для печати графики на основе SVG (например, Adobe PDFXML), но ни один из них сейчас не работает. Кроме того, инструменты Adobe, кажется, закончили короткую работу с SVG.

Если я выберу SVG в качестве формата поставки, какие могут быть проблемы по сравнению с альтернативой (альтернативами)? Я слышал жалобы на обработку текста SVG, но я не нашел подробного обсуждения. Я подозреваю, что еще одна проблема может заключаться в том, насколько четко SVG конвертируется в PDF.

user287424
источник
Должны быть библиотеки, которые могут конвертировать в PDF для вас.
DA01

Ответы:

9

Собственно, для печати EPS или PDF было бы лучше. SVG подходит для веб-сайтов (именно для этого он и был разработан), но часто возникают проблемы с RIP при печати. Большинство дизайнеров, которым предоставляются SVG-файлы, открывают их в векторном приложении и повторно сохраняют как собственные файлы, eps или PDF. Я НИКОГДА не отправлю SVG-файл поставщику печати.

Скотт
источник
Но PDF просто должен просто встроить SVG в «виртуальную бумагу», как это решает проблемы RIP?
jiggunjer
1
@jiggunjer PDF использует совершенно другую структуру кода, чем SVG. PDF основан на постскриптуме, svg - нет. Сохранение в формате PDF не "встраивает svg в виртуальную бумагу". Это другая база кода.
Скотт
Я вижу, я думал, что родной svg был сохранен подобно тому, как внедрено растровое изображение. Но теперь я понимаю, что есть преобразование в пути PDF. Это без потерь или могут быть вариации в зависимости от реализации PDF-конвертер? Например, будет ли Inkscape создавать тот же pdf для данного svg, что и ghostscript?
jiggunjer
Я не могу комментировать Inkscape. Я могу вам сказать, что большинство процессоров растровых изображений (RIP), используемых для коммерческой печати, вероятно, захлебнется SVG-изображением. Они не будут понимать кодовую базу. PDF по сути является программным RIP. Поэтому, как правило, когда вы сохраняете что-то в формате PDF, код переписывается / структурируется с учетом результатов, аналогично тому, как аппаратный RIP обрабатывает изображения. По сути, приложение, способное выводить как SVG, так и PDF, должно иметь внутренние параметры преобразования для настройки вывода на основе формата, а SVG является совершенно неподходящим форматом для коммерческой печати.
Скотт
Благодарю. Это заставило меня задуматься, поэтому я опубликовал соответствующий вопрос: graphicdesign.stackexchange.com/q/97154/102588
jiggunjer
3

Я использовал abcPDF для программного преобразования сгенерированного SVG в PDF для печати. Прошло около 4 лет, но я не могу представить, что поддержка этого в библиотеке уменьшилась бы.

Джейкоб Г
источник
1

Inkscape может конвертировать файлы SVG в PDF и EPS с помощью командной строки. Google "SVG для EPS командной строки". Это было бы хорошим решением для графики, предназначенной как для Интернета, так и для печати.

Просто имейте в виду, что хотя это должно работать в Linux, Inkscape через командную строку на Mac несколько не работает (возможно, придется скомпилировать Inkscape самостоятельно или изменить ссылку на файл внутри .app)

Mentalist
источник
-1

Если вам необходимо преобразовать изображение в растровое изображение, убедитесь, что вы выбрали правильный размер, прежде чем преобразовывать изображение, потому что любое изменение размера после преобразования изображения приведет к потере качества.

Kap
источник
3
Можете ли вы объяснить, почему вы считаете, что изменение растрового изображения может быть полезным? Я бы предпочел векторный формат.
Mensch
-2

Вся промышленность (лазерные резцы, фрезерные станки и т. Д.) Полагается на «выполнение физической работы» с DXF, который Drawing Exchange Formatможет быть преобразован в JSON AST (множество библиотек для этой цели), который может быть точно преобразован в SVG; поэтому нет никаких причин, мешающих использовать SVG для печати.

Одним из важнейших атрибутов SVG для этой цели является то, viewBox=что указывает размеры чертежа в реальном мире. viewBox=должно соответствовать width=и height=, или вы получите обрезанную и масштабированную печать. Вы должны предоставить viewBox=атрибут при экспорте и требовать его при импорте.

Тем не менее, вы можете столкнуться с проблемами с SVG, но это не будет ошибкой SVG: есть много глючных драйверов / приложений.

В моей компании мы используем SVG для формата обмена чертежами по умолчанию.

ceremcem
источник
1
Используйте Шаг. Хотя это правда, что мои приложения могут читать (некоторые диалекты) DXF, это не правда, что мой лазерный резак, токарный станок с ЧПУ или токарный станок с ЧПУ использует DXF. На самом деле это не так, лазер использует процедуры принтера, основанные на PostScript из-за необходимости растеризации, которая ближе к pdf, чем SVG. Станки с ЧПУ используют G-код. В любом случае DXF не будет работать для печати из-за отсутствия правильных примитивов и CMS. Но да, вы можете конвертировать SVG в печать, но сама SVG не имеет функций, необходимых для коммерческой печати. Их было бы легко внедрить, но они не были реализованы, потому что SVG все равно что калека pdf.
Джуджаа
Спасибо, что открыли двери для более глубокого обсуждения. Я не упомянул средние шаги, чтобы уменьшить сложность ответа: G-код или Postscript (или любой конечный формат) производятся компанией, которая владеет машиной (лазерный резак, принтер и т. Д.), Возможно, с использованием проприетарного программного обеспечения машины или любым конвертером, который поддерживает этот формат. Если в качестве промежуточного шага используется формат (DXF, в данном случае SVG), то это будет означать, что это подходящий формат для физической работы. Не могли бы вы упомянуть, какие примитивы отсутствуют в SVG? (DXF не имеет твердых форм, AFAIK)
ceremcem