QWeb PDF报表:如何在o.name字段前添加左侧空白?
解决QWeb PDF报表中文本左侧空白问题
嘿,我来帮你搞定这个QWeb PDF里的文本边距问题!针对o.name左侧因背景色容器导致缺少空白的情况,这里有几个靠谱的解决方案,比单纯用 更可控:
方法1:用CSS padding-left(推荐)
这是最稳妥的方式,直接通过样式给容器添加左侧内边距,完全不受PDF渲染对字符的影响:
方式A:全局样式定义
在你的QWeb报表的<style>区块里添加:
.label_code { padding-left: 8px; /* 根据需求调整空白大小,比如10px、12px */ }
方式B:内联样式
如果只想给单个容器加,直接写在div上:
<div class="label_code" style="padding-left: 8px;"> <t t-esc="o.name"/> </div>
方法2:使用更稳定的空白字符
如果一定要用字符空白,试试全角空格 (占一个汉字宽度)或者多个半角空格 ,PDF渲染对全角空格的支持通常更好:
<div class="label_code">  <t t-esc="o.name"/> </div>
或者多个半角空格叠加:
<div class="label_code">    <t t-esc="o.name"/> </div>
方法3:字符串拼接添加空格
在模板里直接给o.name拼接空格字符,简单直接:
<div class="label_code"> <t t-esc="' ' + o.name"/> </div>
(注意这里是单引号包裹的空格,数量按需调整)
之前用单个 效果不好,大概率是PDF渲染时对单个半角空格的压缩或忽略,用CSS padding可以从根源避免这类渲染问题,优先推荐方法1哦!
内容的提问来源于stack exchange,提问作者M.E.
相关产品推荐
相关产品推荐

