1

我们正在使用 ABCPDF.Net 8 为用户生成 PDF 文档。HTML 源代码直接作为字符串加载,图像在 HTML 中使用完整路径定义。例子:

<img id="img1" src="file://D:/trakit/images/cl_logo.gif" alt="" />

这很好用,我们有大约 200 个用户可以毫无问题地生成 PDF。

问题是少数用户没有获得 PDF 中的图像。当找不到图像时,图像将替换为 IE 显示的图像占位符。

仅对某些用户始终会发生这种情况。我无法弄清楚什么是错误的,因为 PDF 是在服务器端生成的,并且与用户的浏览器设置没有任何关系。我同意页面/代码在用户权限下运行(我们使用 Windows 身份验证),但这为什么会影响 PDF 图像生成?下面是生成 PDF 的代码片段:

PDFDoc.Rect.Inset(20, 20)
PDFDoc.Page = PDFDoc.AddPage()
li_PDFID = PDFDoc.AddImageHtml(as_HTML, True, 1050, True)

While PDFDoc.Chainable(li_PDFID)
    PDFDoc.Page = PDFDoc.AddPage()
    li_PDFID = PDFDoc.AddImageToChain(li_PDFID)
End While

For li_Loop = 1 To PDFDoc.PageCount
    PDFDoc.PageNumber = li_Loop
    PDFDoc.Flatten()
Next

Return PDFDoc.GetData()

任何帮助将不胜感激。

谢谢。

更新:刚刚发现如果用户使用其他浏览器(例如 Firefox),则图像生成正常。这将问题缩小到用户计算机上的 IE 7/8。有什么建议么?

4

1 回答 1

0

好的。问题终于找到了,与ABCPDF无关。

似乎部分 HTML 源代码来自用户的浏览器 - 使用 IE 上的 javascript 函数 innerhtml() 获得。而且我刚刚发现IE对innerhtml()有很大的问题

现在都整理好了。

于 2012-07-18T17:26:46.723 回答