我试图呈现一个网页,其中包含图像转换成使用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中。
这似乎是与访问权限的问题,但我无法弄清楚。
谢谢。