调整 pdf 输出的 html 复选框的大小

Resizing html Checkboxes for pdf output

提问人: 提问时间:1/23/2013 更新时间:11/18/2023 访问量:3885

问:

这是泡菜。要调整 html 中复选框的大小,通常建议您使用 js 来强制浏览器调整元素的大小。

但是,在我们的例子中,我们使用的是 wkhtmltopdf(一个命令行转换器,它利用 webkit 创建 html 输出,然后将其转换为 PDF),据我所知,它不执行 js。

在这种情况下,我们仍然需要缩小一些复选框和单选按钮(实际上,“一些”是错误的 - 很多!

执行此操作的可能方法是什么,如果有多个,最佳做法是什么?

HTML CSS WKHTML到PDF

评论

0赞 KatieK 1/23/2013
我不同意调整网页复选框大小的推荐方法是 JavaScript。CSS 专为控制 Web 元素的外观而设计。如果你所有的HTML文件都使用一个样式表,那么你可以只在单个样式表中进行CSS更改。
0赞 1/23/2013
如果您愿意,请不同意,但是我看到正在解决的每个地方都建议使用javascript!根据 css 的理想,这是不对的,但考虑到视觉资产(复选框和单选)是由浏览器提供的。这让事情变得有点复杂!
0赞 KatieK 1/23/2013
我很想看看你的HTML / JS / CSS。
0赞 1/29/2013
不。我们最终的解决方案是创建 svg 图像。通过 CSS 调整大小太不一致。

答:

0赞 joaobarbosa 1/23/2013 #1

您是否尝试过设置打印样式表以查看它是否影响输出?

@media print { /* css code */ }
0赞 David Waters 1/23/2013 #2

您是否尝试过使用CSS来更改它们的大小?这在Chrome中工作正常,Chrome是一个基于webkit的浏览器。

input.big{
  height: 2em;
  width: 2em;
}

input.small{
  height: 0.5em;
  width: 0.5em;    
}

<input type="checkbox" id="small" class="small"/><label for="small">Small</label>
<input type="checkbox" id="big" class="big"/><label for="big">Big</label>

http://jsfiddle.net/Q8AzW/

评论

0赞 1/23/2013
它并没有真正起作用。虽然它确实使用了 webkit,但正是这些调整的结果有些不确定......
0赞 1/23/2013
还值得注意的是,wkhtmltopdf在渲染复选框和单选程序时使用了svg图像(因为您可能还记得,图形通常由浏览器生成,而wkhtmltopdf是Webkit,而不是实际的浏览器。
2赞 Brabino 5/6/2017 #3

我知道这是很旧的线程,但我遇到了同样的问题,在任何地方都没有找到正确的答案,所以我想帮助其他有类似问题的人。我正在处理 mdpf 生成的 pdf 中复选框的大小。唯一有效的是字体大小。尝试如下操作:

<input type='checkbox' style='font-size: 20pt;'>

希望这对某人有所帮助。

评论

0赞 René Preisler 10/10/2019
刚刚在mpdf上遇到了类似的问题。这是正确的答案 - 但要注意:您必须将 class=“xy” 设置为输入元素。似乎input[type=checkbox]不适用于mpdf。所以使用 .xy{font-size: 20pt;}
0赞 Bryton Beesley 3/10/2022
Brabino 和 @Rene 的解决方案都不适合我。尽管复选框周围确实有更多空格,就像填充或边距增加一样,但复选框本身的大小与以前相同。我正在使用 wkhtmltopdf 0.12.5(带有修补的 qt)
0赞 Juls 11/18/2023 #4

样式 pt 对 font-size 的更改不适用于我的输出。但是有一个 PDF 属性“转换”有效。您也可以使用小数点。1.5 效果最好,而 2 使单选按钮或复选框太大。

$"<input style=\"transform: scale(1.5);\" type=\"checkbox\" id=\"{q.Id}\" data-pdf-form-field=\"true\" name=\"foobar\" {check}>"