No es posible que un PDF para contener una referencia de una imagen externa (al menos desde mi entendimiento). Para que una imagen aparezca en el PDF, debe estar integrada 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 respuestas posibles:
Primeros, a fin de que su aplicación para empaquetar la imagen en el PDF, que deben ser capaces de 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 derecho a atravesar su proxy. Puede probar esto ejecutando el sitio temporalmente (debe ser temporal porque esta es una práctica de seguridad horrible).
La imagen que está utilizando podría requerir el acceso de credenciales (intente extraer la imagen en Firefox con las cookies vacías y verifique si se requieren credenciales para acceder a ella). Si requiere la autenticación de Windows, la misma solución a 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 incorpore la imagen en su proyecto.
También es posible descargar la imagen usando otros medios en su código y convertirla en una matriz de bytes para incluirla en el informe. Hay muchos ejemplos de esto en la web, incluido un Desbordamiento de pila here.
Segunda, echar 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 ReportViewer no está habilitado de forma predeterminada . Para usar una imagen externa, debe establecer la propiedad EnableExternalImages en su código. Dependiendo de su configuración de red, es posible que también tenga que omitir las configuraciones de proxy a para permitir que aparezca la imagen externa. Puede agregar la siguiente configuración al del archivo Web.config para eludir el proxy local . Al modificar el archivo Web.config , asegúrese de especificar el nombre del servidor proxy que es utilizado en su red:
<system.net>
<defaultProxy>
<proxy usesystemdefault = "false" bypassonlocal = "true" proxyaddress = "http://<proxyservername>:80/" />
<defaultProxy>
</system.net>
Esperanza una o ambas de estas ayudas.
Jerry
Olvidé mencionar que si su imagen está en su aplicación local y usa la autenticación de Windows, es posible que se encuentre con un problema común donde la autenticación de Windows falla localmente: http://support.microsoft.com/kb/896861 También debe controlar el registro de eventos en su servidor por cualquier tipo de error o error de autenticación para ayudar a su diagnóstico de este problema. Jerry –
¿Qué tipo de autenticación tiene en su sitio local? ¿Has levantado la imagen en IE o has probado con Firefox como sugerí? ¿Tiene algún error relevante en su registro de eventos? –
Creo que mencioné que la imagen aparece bien en el navegador. Además, no hay nada en los registros de eventos cuando genero el informe. Agradezco sus sugerencias, pero ninguna de ellas parece resolver el problema. Estoy de acuerdo en que la imagen probablemente podría recuperarse y convertirse en una matriz de bytes para mostrar, pero preferiría evitarlo, ya que este es solo un problema localmente y no en uso en vivo. –