首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ABCPDF6问题:“HTML呈现为空白”,但网页输出很好

ABCPDF6问题:“HTML呈现为空白”,但网页输出很好
EN

Stack Overflow用户
提问于 2011-10-04 19:59:27
回答 4查看 18K关注 0票数 9

正如标题所述,我们使用ABCPdf6来呈现XSLT的PDF。一切都很好,但是现在我们得到了一个错误,即"HTML呈现是空白的“。使用浏览器(在IE/Firefox/Chrome上测试),我可以浏览生成的HTML (格式化的XSL),它在浏览器中显示得非常好。ABCPDF6无法转换该文件。我已经尝试过控制输出XSL的页面,但是我仍然会收到这个错误。

是否有人有使用ABCPdf的经验,以前也遇到过这种情况?代码以前运行良好,没有任何问题,另一个页面使用完全相同的生成代码(甚至指向相同的占位符页面,该页面会释放HTML!)效果很好。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-20 13:28:27

我现在知道我的案子出了什么问题。当我在我的2008服务器上运行Windows更新时,已经安装了Internet 9。IE9有一种不同的方式来渲染HTML,阻止abcPDF。更新到最新版本(8)解决了我所有的问题。在这个版本中,您还可以尝试另一个名为Gecko的HTML引擎。

即使您已经解决了您的问题,如果其他人有此错误,我建议您安装试用版,并尝试使用最新版本。

票数 16
EN

Stack Overflow用户

发布于 2013-08-30 09:52:51

我在使用AbcPdf4.0的windows 7机器上也有同样的错误。在MS更新期间,IE8被升级为IE10。通过卸载IE10解决了问题。

注意: Abcpdf4.0不适用于IE9。升级Abcpdf或卸载最新的IE。

票数 3
EN

Stack Overflow用户

发布于 2014-09-19 06:06:16

我今天早上和AbcPdf9也有过类似的问题。我添加了代码来测试引擎类型和壁虎工作,然后我把它换回了MSHTML,而且它仍然有效。所以这只是暂时的问题。

以下是如何指定引擎类型:

代码语言:javascript
复制
using (var document = new Doc())
{
    document.HtmlOptions.Engine = EngineType.Gecko;
    ...
    ...
}

此代码调用将html转换为PDF的方法,但在必要时调用它两次,因为它只会失败一次:

代码语言:javascript
复制
try
{
    return GeneratePdfFromHtml(html, width, EngineType.MSHtml);
}
catch (Exception ex)
{
    /* detect this known issue, swapping the rendering engine once seems to fix it */
    if (ex.Message.ToUpper().Contains("BLANK"))
    {
        return GeneratePdfFromHtml(html, width, EngineType.Gecko);
    }
    throw;                            
}

然后,可以向执行转换的方法添加一个参数:

代码语言:javascript
复制
    public byte[] GeneratePdfFromHtml(string html, int width, EngineType engineType)
    {
        if (string.IsNullOrWhiteSpace(html)) throw new ArgumentNullException("html");
        if (width < 100) throw new ArgumentOutOfRangeException("width");

        try
        {
            using (var document = new Doc())
            {
                document.HtmlOptions.Engine = engineType;
                ...
                ...

如果您有建议或不同的解决方案,请留下评论。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7653365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档