Estoy tratando de renderizar una página web que contiene imágenes en un documento pdf usando ABCpdf. Esto se hace desde una aplicación web.ABCpdf no representa imágenes en una aplicación web bajo IIS6
Cuando ejecuto la aplicación en mi máquina de desarrollo en IIS5, todo está bien. Cuando despliegue la aplicación en IIS6, las imágenes no aparecen en el pdf.
Para reproducir el problema, hice una simple aplicación web para procesar un archivo pdf desde una página web simple y descubrí que las imágenes que no son locales son las que no aparecen en el pdf.
El código relevante que interactúa con ABCpdf es:
Doc theDoc = new Doc();
theDoc.Rect.Inset(18, 18);
theDoc.HtmlOptions.PageCacheEnabled = false;
theDoc.HtmlOptions.PageCacheClear();
theDoc.HtmlOptions.UseNoCache = true;
theDoc.HtmlOptions.Timeout = 60000;
int theID = theDoc.AddImageUrl(theUrl);
while (true)
{
if (!theDoc.Chainable(theID)) break;
theDoc.Page = theDoc.AddPage();
theID = theDoc.AddImageToChain(theID);
}
for (int i = 1; i <= theDoc.PageCount; i++)
{
theDoc.PageNumber = i;
theDoc.Flatten();
}
theDoc.Save(location);
theDoc.Clear();
La página HTML que estoy usando para la prueba es la siguiente:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Test page</title></head>
<body>
<p>This is a local image</p>
<img src="http://myserver/test/images/testimage.gif" />
<p>This is a remote image</p>
<img src="http://l.yimg.com/a/i/ww/beta/y3.gif" />
</body>
</html>
Así que estoy tratando de hacer que la página a la esta url: http://myserver/test/testpage.html (el código de arriba) en un pdf.
En IIS6, la segunda imagen (que no es local para el servidor) no aparece en el pdf.
Parece que hay un problema con los derechos de acceso, pero no pude resolverlo.
Gracias.
¿Encontró alguna solución a su problema? – sptremblay
No. El proyecto fue abandonado de todos modos ... – Paul