Saltar al contenido

ASP.NET rdlc con imágenes externas que no muestran imágenes en PDF

Esta reseña ha sido aprobado por nuestros expertos así se asegura la veracidad de nuestra esta división.

Solución:

No es posible que un PDF contenga una referencia a una imagen externa (al menos según tengo entendido). Para que una imagen aparezca en el PDF, debe estar incrustada en el documento. Por lo tanto, para usar una imagen externa, su aplicación debe recuperar la imagen y almacenarla en el documento. El visor de informes intentará hacer esto por usted.

Dos posibles respuestas:

Primero, para que su aplicación empaquete la imagen en el PDF, debe poder recuperar la imagen de la URL que está especificando. Si esa URL está detrás de un proxy (desde la perspectiva de su servidor de aplicaciones) y/o requiere credenciales para acceder, esto presentará un desafío con la configuración predeterminada del visor de informes.

Si el problema es un servidor proxy, consulte la configuración de su web.config que puede agregar a continuación. Es posible que también deba proporcionar credenciales de red para que su aplicación pueda autenticarse en el proxy. Hay muchas maneras de resolver esto, pero una de las más fáciles es ejecutar su aplicación como una cuenta de servicio en su dominio que tiene derechos para atravesar su proxy. Puede probar esto ejecutando el sitio temporalmente (debería ser temporal porque esta es una práctica de seguridad horrible).

La imagen que está utilizando podría requerir credenciales para acceder (intente abrir la imagen en Firefox con cookies vacías y verifique si se requieren credenciales para acceder a ella). Si requiere la autenticación de Windows, la misma solución para la seguridad del proxy puede aplicarse a la autenticación requerida en la imagen remota. Si requiere alguna otra forma de autenticación, es mejor que descargue e incruste la imagen en su proyecto.

También es posible descargar la imagen usando otros medios en su código y convertirla en un byte array para su inclusión en el informe. Hay muchos ejemplos de esto en la web, incluido un desbordamiento de pila aquí.

Segundoecha un vistazo a la siguiente página:

http://msdn.microsoft.com/en-us/library/ms251715%28VS.80%29.aspx

El uso de imágenes externas en un informe de ReportViewer no está habilitado de forma predeterminada. Para usar una imagen externa, debe establecer la propiedad EnableExternalImages en su código. Dependiendo de la configuración de su red, es posible que también deba omitir la configuración del proxy para permitir que aparezca la imagen externa. Puede agregar la siguiente configuración al archivo Web.config para omitir el proxy local. Al modificar su archivo Web.config, asegúrese de especificar el nombre del servidor proxy que se utiliza en su red:






Espero que uno o ambos de estos ayuden.

alemán

Al pasar nombres de archivos de imágenes externas a los parámetros de ReportViewer, pase el formato de esta manera: file://C:appimagespic.jpg. Cualquier otra cosa generalmente no funciona bien cuando se implementa.

Bien, entonces esta fue nuestra solución. El servidor web no reconoció su propio nombre DNS calificado como URL, por lo que tuvimos que editar el archivo Hosts en la carpeta C:WindowsSystem32driversetc y agregar el nombre de host como localhost. La línea que agregamos al archivo fue:

nuestroservidor.nuestrodominio.com 127.0.0.1

Eres capaz de añadir valor a nuestra información asistiendo con tu experiencia en los comentarios.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *