xslfo和fop使用中的一些问题

时间:2021-08-19 10:06:38

最近项目中使用fop和xslfo打印pdf,遇到一些问题记录下来:

1、表格跨行、跨列:

使用number-rows-spanned和number-columns-spanned属性

比如:<fo:table-cell number-rows-spanned="10" >

2、表格中的文本垂直居中:

使用display-align="center"

如:<fo:table-cell display-align="center">

3、空格:

使用 表示空格

如:<fo:block>组    长:</fo:block>

4、另一个空格的问题:

原字符串“日       期:”,经过转换后变成了"日 期:",空格被缩减成了一个。

解决方案:增加white-space="pre"属性,比如:<fo:block text-align="right" white-space="pre">

注:也有网友说用white-space-treatment="preserve",经验证在fop中无效。

====================补记==============================

5、插入图片
<fo:external-graphic src='XXXX'>,XXX为图片的url
图片横向铺满页面:inline-progression-dimension.maximum="100%" content-width="scale-down-to-fit"
图片高度固定,宽度自适应:content-width="scale-to-fit" content-height="50pt"
6、文本加下划线:
<fo:block text-decoration="underline"></fo:block>

7、自动换行
<fo:block wrap-option="wrap" language="ZH"></fo:block>