
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 grep
la $HTML
var y busque cualquier <img src=..
elemento y luego reemplace cada src
atributo 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 wget
sería utilizar un script Perl rápido.