ABCpdf不会在IIS6下的web应用渲染图像(ABCpdf doesn't render

2019-09-16 17:03发布

我试图呈现一个网页,其中包含图像转换成使用ABCpdf PDF文档。 这是从Web应用程序来完成。

当我在IIS5自己的计算机上运行的应用程序,一切都很好。 当我部署在IIS6的应用程序,图像不显示在PDF中。

若要重现该问题,我做了一个简单的Web应用程序,以使从一个简单的网页,一个PDF文件,我发现这是不是本地的图像是不会出现在PDF中的人。

与ABCpdf相互作用的相关代码:

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();

我使用的测试HTML页面是这样的:

<!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>

所以我想在这个网址来渲染页面: HTTP://myserver/test/testpage.html (上面的代码)转换成PDF格式。

在IIS6,第二图像(不是本地服务器)没有出现在PDF中。

这似乎是与访问权限的问题,但我无法弄清楚。

谢谢。

Answer 1:

我知道这是有点晚了,但希望可以帮助别人!

刚刚经历了一个非常类似的问题(这是我降落在此页。)。 IIS的版本是一样的,但它是一个不同的服务器上运行。 看起来,问题是更新一代的图像完成下载之前的PDF。

我与WebSuperGoo取得了联系。 它使用MSHTML引擎盖(很好的机会,在你的环境中的差异)和一对夫妇的建议下说是尝试:

theDoc.SetInfo(0, "CheckBgImages", "1");

theDoc.SetInfo(0, "RenderDelay", "5000");  // You can change this value, just an initial test.

第二个将延迟渲染PDF,使图像有机会下载。



Answer 2:

我也有类似的问题,并发现它是由图像文件过大的尺寸造成的。



文章来源: ABCpdf doesn't render images in an web application under IIS6
标签: iis-6 abcpdf