2010-07-25 37 views
8

Por alguna razón, la imagen de fondo no se muestra en dompdf sin importar lo que intento. He puesto la URL directa también. Ninguno de ellos funcionó. ¿Alguien con experiencia en dompdf me puede decir lo que debo hacer?imagen de fondo no se muestra en dompdf

Es importante tener en cuenta que otras imágenes aparecen muy bien. Son solo las imágenes de fondo las que están causando problemas. Aquí está una de las imágenes de fondo:

body{ 
font-size:15px; 
background:url(bg.jpg) repeat-x bottom left; 
} 

Respuesta

1

Parece que DOMPDF supports background images, así que tengo que asumir que la ruta de archivo es incorrecto.

Si agrega <img src="bg.jpg" alt="" /> ¿funciona?

He encontrado en el último proyecto que utilicé DOMPDF que necesitaba apuntar el archivo de imagen en el sistema de archivos (no una ruta relativa a webroot), y tuve que usar una ruta raíz que terminó pareciéndome a esto

<img src="<?php echo DOCROOT; ?>assets/images/bg.jpg" alt="" /> 

Dónde DOCROOT convirtió /users/me/public_html/. Para probarlo como HTML sin formato antes de enviar a DOMPDF, hice un str_replace() para cambiar el DOCROOT al / (relativo a mi ruta).

+1

etiquetas de img directas funcionan bien. solo las imágenes de fondo no funcionan. la ruta del archivo es correcta porque cuando veo el html, funciona. cuando tomo ese mismo html exacto y lo presento a través de dompdf, no funciona – Refiking

+0

@Refiking Eso es lo que estaba diciendo, he tenido muchas veces que veo el HTML y está bien, pero necesito cambiar el ruta a la imagen una vez que necesita ser renderizada con DOMPDF para que funcione. – alex

+0

Si ese es el caso, entonces ¿por qué puedo ver las otras imágenes bien, pero no puedo ver la imagen de fondo si tienen la misma ruta? – Refiking

6

Usando DOMODF 0.5.1? Probablemente tenga problemas para analizar la taquigrafía de fondo. Usted podría tratar de romper la propiedad fondo genérico en las propiedades específicas:

background-image: url(bg.jpg); 
background-repeat: repeat-x; 
background-position: bottom left; 

También encontrado que a veces tenía que suministrar una URL completa (http://example.com/bg.jpg).

El manejo de esta propiedad es un poco problemático en esa versión de DOMPDF. Puede considerar la actualización a la base de código 0.6.0 (currently at beta 1). Tiene una serie de mejoras sobre la versión anterior.

+0

Seguimiento (ya que esto ha tenido cierta actividad). La taquigrafía de fondo debe analizarse correctamente en las versiones más recientes. Existe una versión estable de la rama 0.6.x ([v0.6.1] (https://github.com/dompdf/dompdf/releases/tag/v0.6.1)) y el seguimiento ([v0.7.0] (https://github.com/dompdf/dompdf/releases/tag/v0.7.0-beta)) está en beta. – BrianS

0

En su archivo de configuración, establezca DOMPDF_ENABLE_REMOTE en verdadero.

Luego, en su página o hoja de estilo, use la ruta completa (es decir, "http://yoursite.com/images/imagename.png") en la etiqueta src o url() en la hoja de estilos.

2

Bueno, tuve el mismo problema, en mi XAMMP local (Windows) funcionó como debería, pero cuando se movía a un servidor en vivo las imágenes de fondo no aparecían.

Después de buscar una solución sin éxito, finalmente la resolvió.

Esto no estaba funcionando:

body{ font-size:15px; background-image:url(<?php echo getcwd(); ?>/bg.jpg); background-repeat:repeat;} 

Esto funcionó como un encanto:

body{ font-size:15px; background-image:url(./bg.jpg); background-repeat:repeat; } 

espero que esto puede ayudar.

1

por alguna extraña razón tuve el mismo problema dompdf ver 0.6.1

  1. en el etiquetas img era necesaria la ruta local completa
  2. una imagen de fondo la ruta relativa trabajó como única, pero Imagen de fondo establecido en la etiqueta de estilo no funcionaba

espero que ayude

+0

esto funcionó para mí – dlporter98

Cuestiones relacionadas