Imprime como Firefox

Imprime como Firefox

Hizo un script CLI para imprimir artículos de Wikipedia:

WIKI='https://en.wikipedia.org/w/index.php?title='
TITLE=$1
PRINTABLE='&printable=yes'

SRC=$WIKI$TITLE$PRINTABLE

HTML=$1".html"
PS=$1".ps"

wget $SRC

mv index* $HTML

html2ps $HTML > $PS

lpr -P pr1444 $PS

Funciona en el sentido de que si escribes./print Shane_Mosley Este artículoestá impreso.

Pero, en comparación con el uso de Firefox (navegar al sitio e imprimir desde los menús), el resultado impreso es inferior: diseño mucho menos compacto (especialmente tablas), sin imágenes y no puede manejar caracteres "inusuales".

Entonces, mi pregunta: ¿Firefox es "monolítico" o en realidad está compuesto por herramientas modulares que puedo replicar? ¿O podría usar Firefox como servidor, para poder enviar comandos (como ir allí e imprimir)?

En caso negativo: ¿hay formas de utilizar mejor mis herramientas o existen otras herramientas que mejorarían el resultado?

Respuesta1

Como habrá descubierto, este método es, en el mejor de los casos, subóptimo. Además del HTML, necesitarás como mínimo todas las imágenes y CSS. Es posible que también necesite todo el Javascript. Y luego está todo el asunto de generar este desastre.

Pero para ti hay buenas noticias en forma deImpresión de línea de comandoextensión que puedes instalar en Firefox.

Entonces:

firefox -print http://www.example.com/index.html

Hay más ejemplos en la página de documentación de la extensión.

Respuesta2

Le sugiero que vaya a grepla $HTMLvar y busque cualquier <img src=..elemento y luego reemplace cada srcatributo con la ruta completa de la imagen como https://en.wikipedia.org/wiki/File:Uncle_Tupelo.jpg. De forma predeterminada, la tecnología de páginas del servidor mantiene la fuente de la imagen en la ruta relativa del servidor, como en este caso <img src="File:Uncle Tupelo.jpg">. La mayoría de estos valores se derivan de CSS. Esto resolverá el problema de la imagen en sus impresiones; sin embargo, es posible que aún falten otros detalles del elemento CSS.

Una alternativa wgetsería utilizar un script Perl rápido.

información relacionada