Как я могу напечатать SVG, уже масштабированный до размера a4, из командной строки? Я попытался использовать lpr
, но вместо этого принтер просто распечатал фактический XML-файл, а это не то, что я хотел.
источник
Как я могу напечатать SVG, уже масштабированный до размера a4, из командной строки? Я попытался использовать lpr
, но вместо этого принтер просто распечатал фактический XML-файл, а это не то, что я хотел.
Inkscape может конвертировать различные форматы векторной графики, включая SVG в PDF. Хотя обычно это приложение с графическим интерфейсом, оно может работать в пакетном режиме без X-сервера.
inkscape --without-gui --export-pdf=foo.pdf foo.svg
lpr foo.pdf
Или, если вы хотите распечатать напрямую:
inkscape --without-gui --export-pdf=/dev/stdout foo.svg | lpr
Другая возможность - библиотека Apache Batik . Однако, несмотря на то, что есть инструмент командной строки, основанный на этой библиотеке, Fop , у него, похоже, нет способа использовать ввод SVG, поэтому вам придется написать немного связующего кода на Java.
Попробуйте использовать графический интерфейс, например, eye of gnome . Также Firefox может открывать svg и печатать.
По крайней мере, вы можете импортировать изображение в OpenOffice 's Writer ;-)
SVG-файлы, как вы заметили, представляют собой просто текст XML. Сброс этих данных прямо в принтер не даст вам ничего. Что вам нужно, это программа, которая может отсылать эти данные. Вы говорите, что файл уже масштабирован до размера А4, это просто координатное пространство для масштабируемых векторных данных. Это не отображается.
Однако не отчаивайтесь! Существует множество программ, которые могут отображать данные из командной строки, а некоторые могут даже отображать и печатать все в одном пакете. Вам нужно изучить флаги командной строки для некоторых более тяжелых программ, с которыми вы, как правило, ожидаете получить графический интерфейс.
Например, я знаю, что вы можете использовать LibreOffice в командной строке, чтобы открыть и распечатать файл или преобразовать его в другой формат. Существует удобная утилита командной строки под названием unoconv, которая значительно упрощает процесс преобразования, упрощая все флаги, которые вам нужно будет отправить.
Gimp также имеет несколько флагов командной строки для открытия, конвертирования, сохранения и даже печати. Некоторые из старых резервных копий, такие как ImageMagick, также могут конвертировать файлы SVG в визуализированные изображения с заданным размером. Я ожидаю, что другие приложения, такие как Inkscape, также могут сделать это.
Если у вас есть изображение, его легко распечатать из командной строки. Если вы делаете это часто, вы можете написать небольшой двухстрочный скрипт для преобразования и печати!
источник