3 votos

¿Cómo puedo enviar archivos Markdown renderizados a la impresora desde la línea de comandos?

He escrito un archivo Markdown que deseo imprimir. La versión renderizada, no la versión en bruto.

La impresión en la GUI funciona bien. Deseo formatear los archivos de Mardown con mdcat y enviar el resultado/salida a la impresora.

lpc status
HP_ENVY_5540_series:
    printer is on device ‘dnssd’ speed -1
    queuing is enabled
    printing is enabled
    no entries
    daemon present

mdcat example.md | lp
request id is HP_ENVY_5540_series-47 (0 file(s))

mdcat example.md | lp -d HP_ENVY_5540_series
request id is HP_ENVY_5540_series-48 (0 file(s))

Esos comandos no funcionaron.

Editar, después del primer comentario:

brew info mdcat
mdcat: stable 0.22.2 (bottled)
Show markdown documents on text terminals
https://github.com/lunaryorn/mdcat
/usr/local/Cellar/mdcat/0.22.2 (8 files, 5.4MB) *
  Poured from bottle on 2021-01-02 at 08:42:16
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/mdcat.rb
License: MPL-2.0
==> Dependencies
Build: cmake ✔, rust ✘
==> Analytics
install: 336 (30 days), 1,518 (90 days), 10,040 (365 days)
install-on-request: 335 (30 days), 1,517 (90 days), 10,027 (365 days)
build-error: 0 (30 days)

¿Necesita el software algún tipo de apoyo? Tal vez no recuerdo bien, pero se puede canalizar cualquier comando a lp en Linux. No hay ningún tipo de soporte necesario para las impresoras en el comando antes de la tubería.

4voto

TL;DR Necesita un renderizador de markdown que cree Postscript o PDF como salida. Cómo convertir de un archivo Markdown, a PDF puede estar un poco anticuado, pero enumera algunas opciones para lograrlo.


Cualquier dispositivo de salida (ya sea un Terminal, ya sea una Impresora) utiliza códigos de control dentro de los datos a mostrar para poder representarlos correctamente, normalmente estos códigos de control son diferentes para cada dispositivo. A veces (por ejemplo, en el caso de Postscript o PDF) son incluso un lenguaje completo en sí mismo.

Ahora lp depende de CUPS para hablar con la impresora, CUPS normalmente sólo entiende cómo manejar texto plano, PostScript, PDF y archivos de imagen directamente. Así que puede hacer cat foo.md | lp / lp foo.md o cat foo.pdf | lp / lp foo.pdf para imprimir el archivo markdown simple o cualquier PDF. Si envía texto formateado para la salida del terminal (como mdcat lo hace) no conducirá al resultado esperado (tampoco lo hace la ejecución de man lp | lp normalmente).

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X