Я хочу распечатать пользовательское конкретное количество маркировок, не открытие Libreoffice

Я использую Ubuntu в ресторане. В этом случае я использую принтер маркировки Брата для печати "Использования" маркировками даты.

Для печати того, я могу использовать команду libreoffice -p ~/Desktop/TestLabel.odt У меня есть это в сценарии удара, выполняемом от Средства запуска.

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

Существует ли способ предлагать пользователю количество и печать это много раз?

Спасибо

2
задан 12 February 2015 в 23:42

1 ответ

Это очень просто с zenity. Разверните сценарий с командой как это:

NUMBER=$(zenity --entry --text="How many Labels should be printed?" --entry-text=1)

enter image description here

переменный $NUMBER теперь содержит вход от пользователя. Если пользователь просто нажмет "OK", то он будет содержать "1".

Unfortunetly libreoffice не принимает, что флаг определяет количество копий. Таким образом, необходимо выполнить команду libreoffice несколько время при печати нескольких копий. Но, можно вместо этого использовать libreoffice для preprare файл и затем использовать lpr, чтобы сделать фактическую печать:

libreoffice --print-to-file --printer-name printername --outdir /tmp/ file.doc
lpr /tmp/file.ps -${NUMBER} -P printername
rm /tmp/file.ps

lpr принимает много флагов копий -#.

РЕДАКТИРОВАНИЕ:

, Если lpr не работает на Вас просто, называют libreoffice многократно:

for (( c=1; c<=${NUMBER}; c++ )); do
  libreoffice -p file.doc
done
0
ответ дан 9 November 2019 в 18:13

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

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