我正在使用ColdFusion 8。
我有一个完美格式化的HTML页面,我想将其转换为PDF。创建此内容需要大约250毫秒的ColdFusion。除了创建PDF之外,代码经过了尝试并且是真实的并且在各方面都可以正常工作。
我像这样创建PageContent变量:
<!--- CREATE PAGE AS CONTENT --->
<cfsavecontent variable="PageContent">
<html>
<head></head>
<body>
<cfoutput>
// PAGE CONTENT IS HERE
<cfoutput>
</body>
</html>
</cfsavecontent>
我可以在浏览器中将此PageContent完美地显示为HTML,在Word或Excel中打开它。我尝试创建这样的PDF:
<cfdocument format="pdf">
<cfoutput>
#PageContent#
</cfoutput>
</cfdocument>
页面内容具有内联样式,图像,div和表格。如果我删除带有空字符串的图像路径和文件,则文档可以正常工作。
我认为PDF生成器在图像路径上窒息,虽然这些路径对我来说似乎很完美,并且可以在其他地方很好地呈现。 img标记正在提供完整的HTTP路径,这完全有效。这是一个不起作用的:
http://dev.iqcatalogs.com/avcat/IMAGES/products/spotlight/ef17_40_4lu_c2_186x279.gif
什么可能导致图像在PDF中正确呈现?
答案 0 :(得分:4)
请记住,要使Cfdocument工作,你是否可以在浏览器中提取图像并不重要。只有服务器可以启动它才有意义。最可能的原因是域名解析 - 服务器无法获得正确的IP地址 - 或阻止其检索内容。看这篇文章。
答案 1 :(得分:4)
(从上面的评论中)我猜你已经调查了usual suspects了吗?
即2)如果您的服务器位于防火墙后面。正如我们前面提到的,CF 服务器需要发送图像的HTTP请求。如果是防火墙 防止从服务器的任何传出连接,CF将无法 检索它们并将显示一个red-x代替它们。你会需要 以服务器可以发送HTTP的方式设置防火墙 要求自己。