Linux和OSX构建之间的字体大小不同

时间:2017-10-02 14:41:06

标签: wkhtmltopdf

对于"字体大小:1cm" css规则,OSX的Wkhtmltopdf呈现1cm字体大小,而Linux版本呈现~0.77cm大小。

这是我的HTML代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title></title>
        <style>
            body {
                font-size: 1cm;
                line-height: 1cm;
                font-family: sans-serif;
            }
        </style>
    </head>
    <body>
        TEST ME 1<br />
        TEST ME 2<br />
        TEST ME 3<br />
        TEST ME 4<br />
        TEST ME 5<br />
        TEST ME 6<br />
        TEST ME 7<br />
        TEST ME 8<br />
        TEST ME 9<br />
        TEST ME 10<br />
        TEST ME 11<br />
        TEST ME 12<br />
        TEST ME 13<br />
        TEST ME 14<br />
        TEST ME 15<br />
        TEST ME 16<br />
        TEST ME 17<br />
        TEST ME 18
    </body>
</html>

命令:

wkhtmltopdf testPdf.html testPdf.pdf

有什么想法吗? 谢谢!

2 个答案:

答案 0 :(得分:0)

在这里找到答案:http://blog.gluga.com/2012/05/wkhtmltopdf-font-and-sizing-issues.html

米/英寸单位似乎不一致,因为wkhtmltopdf在Webkit渲染引擎中呈现html,可以使用不同的屏幕分辨率进行配置。

因此,解决方案是将CSS def gen(s): dot_index = 0 while dot_index >= 0: dot_index = s.find('.', dot_index + 1) yield dot_index def get_dots(): s = '23.00 98.00 99.00' l = list(gen(s)) print(l) get_dots() width修复为页面容器。

就我而言:

height

做了这个伎俩。

注意:在我的情况下,为了在OSX上以A4横向方向进行精确的dpi渲染,我必须设置较低的值( body { font-size: 1cm; line-height: 1cm; font-family: sans-serif; width: 1600px; height: 1050px; } ,左右边距为1cm):这导致较小的在Linux上渲染,我用width: 1120px;修复(我猜任何高值都可以,它只会使它与整页的宽度匹配,而不是更多)。

答案 1 :(得分:0)

我认为这与#2463问题有关。对于linux版本,您可以使用该命令wkhtmltopdf testPdf.html testPdf.pdf --zoom 1.28