【发布时间】:2010-11-04 21:57:56
【问题描述】:
我正在尝试使用 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>
所以我正在尝试将这个 url 处的页面:http://myserver/test/testpage.html(上面的代码)呈现为 pdf。
在 IIS6 中,第二个图像(不是服务器本地的)不会出现在 pdf 中。
似乎是访问权限的问题,但我想不通。
谢谢。
【问题讨论】:
-
您找到解决问题的方法了吗?
-
不。该项目无论如何都被放弃了......