wkhtmltopdf或CSS大小(A4,毫米,英寸)问题

时间:2018-10-04 06:44:43

标签: css wkhtmltopdf

我正在通过Symfony Bundle knp Snappy bundle使用wkhtmltopdf,只要我使用px作为大小,它就可以正常工作。 但是我需要根据A4尺寸生成一张贴纸纸,而我没有正确的选择: 我将wkhtmltopdf的所有边距都设置为0

$snappy->setOption('margin-top', '0mm');
$snappy->setOption('margin-left', '0mm');
$snappy->setOption('margin-right', '0mm');
$snappy->setOption('margin-bottom', '0mm');

然后在我的测试html(应用程序中的树枝)中查找列: 我尝试了一个简单的:

<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="utf-8">
</head>
<body style="margin:0;padding:0">
  <div style="background-color:red;width:99%;height:1400px;border:solid #000 1px">
    <div style="background-color:green;display:inline-block;padding:0;margin:0;width:105mm;height:297mm"></div>
    <div style="background-color:yellow;display:inline-block;padding:0;margin:0;width:105mm;height:297mm"></div>
  </div>
</body>
</html>

我也尝试过英寸:105 => 4.13in,297mm => 11.69in 结果相同

我还尝试了直接生成(不包含捆绑包)

wkhtmltopdf --page-size A4 -B 0 -L 0 -R 0 -T 0 test.html output.pdf

具有相同结果

这就是我得到的: enter image description here

为什么A4尺寸的一半:105mm或4.13in不起作用? 我也尝试过直接在wkhtmltopdf设置中设置页面大小: 页面高度和页面宽度不变。

我不能使用百分比,因为对于真实数据,我将拥有更复杂的设置(左右边距,2、3 ...列)

该设置可能有什么问题? 这是CSS问题吗? wkhtmltopdf问题?

1 个答案:

答案 0 :(得分:0)

我发现使用--disable-smart-shrinking选项很有帮助。 默认情况下,当使用绝对度量(以毫米为单位)时,--enable-smart-shrinking被激活并与html呈现混乱 link to doc