0

我正在使用 wkhtmltopdf 通过 php 将页面转换为 pdf。这在 Windows 和 ubuntu 服务器上运行良好,但是,在不同的 linux 服务器上,有时(大约 6 次中有 5 次)不执行 javascript(pdf 仅包含不是由 javascript 生成/修改的数据)。

例如,我用它来渲染一些包含 jqplot 图形的页面。有问题的服务器似乎可以很好地处理外部链接,但是当使用指向自身的链接时,它大多数时候都无法加载 javascript。

我使用了静态二进制文件(v 0.9.9 和 v0.11.0),它们都以同样的方式失败。使用--javascript-delay(或--redirect-delay)没有任何效果(除了等待更长时间生成pdf)。在 v0.11.0 上,我还使用了 --window-status,它通常会在短时间内阻塞服务器(可能是因为从未加载过 javascript,因此未设置 window.status)。

此外,当未加载 javascript 时,wkhtml 的输出不会显示任何错误/警告。

关于可能导致这种情况的任何想法或建议都会有所帮助。

编辑:

<script type="text/javascript">
$(function(){
$.atk4(function(){ $('#myrealm_charts_jqplot').univ().jqplot(...pramas);
$('#myrealm_charts_jqplot_5').univ().jqplot(...params);
$('#myrealm_charts_jqplot_6').univ().jqplot(...params);
$('#myrealm_charts_jqplot_7').univ().jqplot(...params);
; });
});
</script>

...

<body class="atk-fullscreen gs-10-fluid atk-sticky">
    <div class="gs-wrap atk-layout">
        <div id="Content">
            <div id="myrealm_charts" class="page_charts">
                <div style="height: '' ;width:'600px';">
                    <div id="myrealm_charts_jqplot" class=" pdf-analytics-chart" style="">

                    </div>
                </div>
                ...
            </div>

        </div>
    </div>
</body>

该页面没有任何由 firebug 报告的错误。

4

0 回答 0