Estoy usando la gema rubí Barby que agrega una forma práctica de renderizar códigos de barras como HTML.

Barby renderiza una tabla con fondos td activados o desactivados según el código que se le haya pasado. Esto funciona bastante bien porque no quiero generar y almacenar un archivo de imagen para cada registro para el que necesito un código de barras.

Los principales navegadores no imprimen colores de fondo de forma predeterminada y necesito el código de barras para imprimir sin que el usuario cambie una opción de impresión en su sistema local.

No estoy seguro de cómo lograr esto con Firefox. Con webkit (Chrome y Safari), es bastante fácil:

td { 
  background: #000 !important;
  -webkit-print-color-adjust: exact;
}

Buscar febrilmente en Google no me ha llevado a ninguna parte: Esta pregunta es una algunos años y no he encontrado nada más nuevo, así que supongo que volvería a plantear la pregunta. Bordes gruesos tampoco funcionarán realmente porque si la relación entre las barras cambia, cambiará los datos contenidos en el código.

11
Derek Povah 26 ene. 2016 a las 02:52

2 respuestas

La mejor respuesta

Esto está comenzando a funcionar en Firefox (al menos la versión 48.0.2) con el "propiedad de ajuste de color ".

td { 
  background: #000 !important;
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
}

Veo un error menor o dos en mi proyecto en particular, ¡pero aparecen los colores de fondo!

22
RustyToms 26 sep. 2016 a las 19:07

Esto funciona para mí:

@media print {
    body {
        -webkit-print-color-adjust: exact; /*Chrome, Safari */
        color-adjust: exact; /*Firefox*/
    }
}
4
Khanh Vo 1 jun. 2017 a las 16:05