Как я могу распечатать svg файлы из командной строки с помощью программы просмотра изображений (eog) или lpr?

Действительно ли возможно распечатать svg файл с помощью программы просмотра изображений (т.е. глаз гнома) из командной строки, или при помощи lpr?

Базовая проблема состоит в том, что я имею каталог со многими svg файлами в нем и хочу распечатать всех их автоматически, не имея необходимость индивидуально открывать каждый файл в программе просмотра изображений и затем печатать использование UI. Я не должен изменять опции печати в eog (значения по умолчанию, все хорошо работают).

Обратите внимание что lpr команда, кажется, не помогает здесь - при применении к svg файлы она просто распечатывает много страниц XML. Я был бы так же доволен любым решением, которое включает получение lpr распечатать изображение в svg, а не XML.

3
задан 20 August 2019 в 10:49

1 ответ

Поскольку Вы испытали lpr только распечатает svg файлы как XML (и таким образом печатает страницы, заполненные только текстом).

Однако существует очень простое обходное решение, которое должно преобразовать svg файлы во что-то более осуществимое, такие как png на лету и затем автоматически распечатать эти сгенерированные файлы. Требуются два шага:

Шаг 1: Установка imagemagick:

sudo apt-get install imagemagick

Шаг 2: пока Вы имеете lp настроенный правильно с принтером 'по умолчанию' затем выполняет следующий цикл на экране Terminal из каталога, содержащего Ваши svg файлы:

for i in *.svg
do
convert "$i" png:- | lpr
done

Объяснение:

Этот 'цикл' выполняет следующее:

  1. Процессы каждый svg файл в свою очередь в каталоге
  2. Использование convert утилита (часть imagemagick) произвести png файлы из каждого svg файла
  3. Передачи каждый png файл к stdout (вместо того, чтобы писать это постоянно в диск)
  4. Печать это использование файла lpr

Протестированный отлично в моей собственной системе и должен работать одинаково хорошо в Вашей системе :).

4
ответ дан 1 December 2019 в 15:51

Другие вопросы по тегам:

Похожие вопросы: