Estoy usando Twitter-Bootstrap y necesito poder imprimir la página como se ve en el navegador. Puedo imprimir otras páginas hechas con Twitter-Bootstrap muy bien, pero parece que no puedo imprimir mi página que usa puramente Twitter-Bootstrap. ¿Me estoy perdiendo una etiqueta en alguna parte?
Página oficial de TB cuando se imprime:
Mi página cuando se imprime:
Cómo se ve realmente mi página:
printing
twitter-bootstrap
Jay Q.
fuente
fuente
Respuestas:
Asegúrese de tener una hoja de estilo asignada para imprimir.
Podría ser una hoja de estilo separada:
o uno que comparta para todos los dispositivos:
Luego, puede escribir sus estilos para impresoras en las hojas de estilo separadas o en la compartida utilizando consultas de medios:
fuente
media="screen"
, que una impresora no verá. Puede cambiar esto amedia="all"
, o simplemente eliminarmedia
como sugiere la respuesta anterior.Actualización de Bootstrap 3.2: (versión actual)
La versión actual estable de Bootstrap es 3.2.0 .
Con la versión 3.2 de impresión visible en desuso, por lo que debe usar así:
Actualización de Bootstrap 3:
Las clases de impresión ahora están en documentos: http://getbootstrap.com/css/#responsive-utilities-print
Versión Bootstrap 2.3.1:
Después de agregar el archivo bootstrap.css a su HTML,
busque las partes que no desea imprimir y agregue la
hidden-print
clase a las etiquetas. Porque el archivo css incluye esto:fuente
body
) sea invisible.hidden-print
, pero quiero anular un elemento específico para que se muestre?Reemplace cada
col-md-
concol-xs-
Por ejemplo: reemplazar cada
col-md-6
acol-xs-6
.Esto es lo que funcionó para mí para librarme de este problema, puedes ver lo que tienes que reemplazar.
fuente
div
solía ir por debajo de la anterior. Esta respuesta me dio una pista, agreguécol-xs-*
antes de cada unocol-md-*
y esto solucionó el problema. DESCARGO DE RESPONSABILIDAD: No probé agregar un contenedor ya<div class="row"></div>
que también podría haber resuelto el problema (parece obvio).Hay una sección de
@media print
código en el archivo css (Bootstrap 3.3.1 [ACTUALIZACIÓN:] a 3.3.5), esto elimina prácticamente todo el estilo, por lo que obtienes impresiones bastante suaves incluso cuando está funcionando.Por ahora he tenido que recurrir a despojar a la
@media print
sección de bootstrap.css - lo que realmente soy , no contento con pero mis usuarios quieren pantalla apropiaciones directas por lo que este tendrá que hacer por ahora. Si alguien sabe cómo suprimirlo sin cambios en los archivos de arranque, estaría muy interesado.Aquí está el bloque de código 'ofensivo', comienza en la línea # 192:
fuente
La mejor opción que encontré fue http://html2canvas.hertzen.com/
http://jsfiddle.net/nurbsurf/1235emen/
fuente
En caso de que alguien esté buscando una solución para Bootstrap v2.XX aquí. Estoy dejando la solución que estaba usando.Esto no está completamente probado en todos los navegadores, sin embargo, podría ser un buen comienzo.
1) asegúrese de que el atributo de medios de
bootstrap-responsive.css
es isscreen
.2) crear un
print.css
ay asegúrese de que su atributo de mediosprint
3) dentro
print.css
, agregue el "ancho" de su sitio web en html & body4.) reproducir las clases de consulta de medios necesarias en
print.css
porque estaban dentrobootstrap-responsive.css
y lo hemos deshabilitado al imprimir.Aquí está la versión completa de
print.css
:fuente
2 cosas para tu información -
fuente
Para hacer que la vista de impresión se vea como una tableta o escritorio, incluya bootstrap como .less, no como .css y luego puede sobrescribir las clases receptivas de bootstrap al final del archivo bootstrap_variables, por ejemplo:
No se preocupe por poner estas variables al final del archivo. LESS admite la carga diferida de variables para que se apliquen.
fuente
Si desea mantener columnas en impresión A4 (que es de alrededor de 540 px), esta es una buena idea
Puedes usarlo así:
<div class="col-sm-4 col-print-A4-4">
fuente