4 votos

Cómo imprimir los archivos PDF o archivos Postscript para la impresora directamente desde la línea de comandos

Yo soy capaz de imprimir desde Inkscape a mi TAZAS-configurar la impresora de red bien. Me gustaría hacer lo mismo directamente desde la línea de comandos shell como la dada por la http://unix.stackexchange.com/a/12002/21372 respuesta. Pero cuando trato de que en mi sistema Ubuntu, después de convertir los archivos SVG a PDF o Postscript usando Inkscape, enviando a lpr da el error que se muestra a continuación en el panel frontal de la impresora (Xerox 6180MFP):

photo of my front panel error

Los comandos que estoy intentando utilizar son:

inkscape --without-gui --export-pdf=test_file.pdf test_file.svg
pdftops test_file.pdf test_file.ps
lpr -P Xerox-6180MFP-D -l test_file.ps

¿Qué necesito hacer para que mi configuración de CUPS para activarlo? ¿Qué es Inkscape haciendo detrás de las escenas para imprimir correctamente en la impresora, que soy incapaz de hacer de la lpr de la línea de comandos?

Para referencia, aquí está la esencia de mi actual TAZAS de archivo de configuración: https://gist.github.com/bgoodr/6f8b47df40244fed6290a6a199e72c52

Salida de lpstat -t:

scheduler is running
no system default destination
device for Xerox-6180MFP-D: socket://192.168.1.20
device for Xerox-6180MFP-D/double-sided: socket://192.168.1.20
device for Xerox-6180MFP-D/single-sided: socket://192.168.1.20
Xerox-6180MFP-D accepting requests since Sat 04 Mar 2017 05:36:44 PM PST
Xerox-6180MFP-D/double-sided accepting requests since Sat 04 Mar 2017 05:36:44 PM PST
Xerox-6180MFP-D/single-sided accepting requests since Sat 04 Mar 2017 05:36:44 PM PST
printer Xerox-6180MFP-D is idle.  enabled since Sat 04 Mar 2017 05:36:44 PM PST
printer Xerox-6180MFP-D/double-sided is idle.  enabled since Sat 04 Mar 2017 05:36:44 PM PST
printer Xerox-6180MFP-D/single-sided is idle.  enabled since Sat 04 Mar 2017 05:36:44 PM PST

Captura de pantalla de mi página de impresora en http://localhost:631/printers/Xerox-6180MFP-D

screenshot of CUPS page

EDICIÓN #1

En respuesta a un comentario en Cómo imprimir los archivos PDF o archivos Postscript para la impresora directamente desde la línea de comandos :

Aquí está el script que se utiliza para ejecutar lpr con y sin el -l opción (que se muestra a continuación sin ella):

cd /tmp
qrencode -v 1 -t svg -o some_small_text.qrcode.svg -l L "some small text"
inkscape --without-gui --export-pdf=some_small_text.qrcode.pdf some_small_text.qrcode.svg
# setsid evince some_small_text.qrcode.pdf >/dev/null 2>&1 &
pdftops some_small_text.qrcode.pdf some_small_text.qrcode.ps
lpr -P Xerox-6180MFP-D some_small_text.qrcode.ps

Aquí está una esencia de archivo Postscript generado a partir de la llamada anterior a qrencode:

https://gist.github.com/bgoodr/8411fe6815522490857765e3c28eaad8

La "Carga de la Bandeja de" error me lleva a creer que tengo que especificar algunas cosas para el comando lpr, o modificar algunas de las opciones. De alguna manera Inkscape es capaz de comunicar sus necesidades desde el cuadro de diálogo imprimir se requiere de mí para interactuar con, y es lo que deseo para replicar a partir de la lpr de la línea de comandos.

EDICIÓN #2

Corrí lpr sin opciones y puso:

$ echo stuff | lpr
lpr: Error - no default destination available.

EDICIÓN #3

He resuelto parcialmente el enigma de donde la "Carga de la Bandeja 1(MPT) ... 76x127mm" error en el panel frontal de la impresora. Cuando abrí el Inkscape interfaz gráfica de usuario, y se examinaron las propiedades de la .archivo svg generado por la qrencode comando que se muestra arriba, veo:

Document properties on original .svg file

Aviso de la anchura y la altura. Cuando traté de imprimir que el uso de la interfaz gráfica de usuario, tengo el mismo "Carga de la Bandeja 1(MPT) ... 76x127mm" error! Así que, he seleccionado "Carta" de la sección Tamaño de Página, y luego trató de imprimir a la impresora, y funcionó sin problemas.

Así que, al parecer lo que está sucediendo es que la impresora está viendo este pequeño (en anchura y altura) archivo postscript y suponiendo que se tiene que seleccionar una de 3 x 5 pulgadas bandeja de sobres. Yo razón que mirando en la página 69 de la http://download.support.xerox.com/pub/docs/6180MFP/userdocs/any-os/en/user_guide_en.pdf que tiene:

User Guide From 6180MFP User Guide Page 69

Así que estoy un poco más cerca de la respuesta a mi pregunta original. Yo justo ahora necesitan una manera de ser capaz de elegir la Fuente de Papel o cambiar el tamaño de la línea de comandos. He mirado en la inkscape el hombre de la página, y no es evidente que opciones son las que debo jugar. O tal vez esta es una de imagemagick/convertir tipo de operación.

2voto

bgoodr Puntos 205

Esto es lo que tenía que hacer:

cd /tmp
qrencode -v 1 -t svg -o some_small_text.qrcode.svg -l L "some small text"
sed 's%<svg width="[^"]*" height="[^"]*" viewBox="[^"]*"%<svg width="8.5in" height="11in" viewBox="0 0 203.94463 263.92834"%g' < some_small_text.qrcode.svg > some_small_text.qrcode.us-letter.svg
inkscape --without-gui --export-pdf=some_small_text.qrcode.us-letter.pdf some_small_text.qrcode.us-letter.svg
lpr -P Xerox-6180MFP-D some_small_text.qrcode.us-letter.pdf

La clave es que tuve que cambiar el width, heighty viewBox atributos de la svg elemento para que coincida con lo que Inkscape hace cuando usted seleccione Carta. Los valores utilizados para la viewBox sigue siendo un misterio para mí. Una vez que lo hice, luego el PDF resultante, cuando se envía a la impresora, mantuvo la impresora feliz.

Esto no es exactamente lo que yo quería, ya que en este enfoque, tengo que usar sed a modificar los atributos. Me hubiera gustado encontrar una manera de utilizar Inkscape para hacer esto en el svg directamente. Veo que Inkscape tiene un -verb opción y un verbo llamado DialogDocumentProperties en http://how-to.wikia.com/wiki/How_to_use_Inkscape_in_commandline_mode/List_of_verbs pero no es evidente cómo seleccionar realmente la "Carta" de tamaño de esa opción.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: