XSLFO文档学习笔记
本文介绍了XSLFO文档的基础知识和常用语法及样式,以便读者了解XSLFO文档的结构和格式。
1. XSLFO文档结构
XSLFO文档由以下部分组成:
- fo:root 根元素
- fo:layout-master-set 布局主元素集合
- fo:page-sequence 页面序列(包含页面序列中的页面布局信息)
- fo:flow 页面流(包含生成的内容)
2. 常用语法和样式
2.1. 文字样式
- 字面量:
<fo:inline font-weight="bold">粗体文字</fo:inline>
- 颜色:
<fo:inline color="red">红色文字</fo:inline>
- 大小:
<fo:inline font-size="20pt">20磅文字</fo:inline>
- 下划线:
<fo:inline text-decoration="underline">带下划线文字</fo:inline>
- 斜体:
<fo:inline font-style="italic">斜体文字</fo:inline>
- 删除线:
<fo:inline text-decoration="line-through">删除线文字</fo:inline>
2.2. 段落样式
- 居左对齐:
<fo:block text-align="left">左对齐段落</fo:block>
- 居中对齐:
<fo:block text-align="center">居中段落</fo:block>
- 居右对齐:
<fo:block text-align="right">右对齐段落</fo:block>
- 缩进:
<fo:block text-indent="2cm">缩进段落</fo:block>
- 行高:
<fo:block line-height="1.5">1.5倍行高段落</fo:block>
2.3. 表格样式
- 表格:
<fo:table>
和<fo:table-body>
- 表头:
<fo:table-header>
- 表格行:
<fo:table-row>
- 表格列:
<fo:table-cell>
- 合并单元格:
<fo:table-cell number-columns-spanned="2">合并两列</fo:table-cell>
3. 实例
下面是一个简单的XSLFO文档示例,其中包含了上述常用语法和样式:
Copy Code<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="A4" page-height="29.7cm" page-width="21cm" margin-top="2.54cm" margin-bottom="2.54cm" margin-left="2.54cm" margin-right="2.54cm">
<fo:region-body margin-top="1.8cm" margin-bottom="1.8cm"/>
<fo:region-before extent="2cm" />
<fo:region-after extent="2cm" />
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4">
<fo:flow flow-name="xsl-region-body">
<fo:block font-size="16pt" text-align="center">XSLFO文档学习笔记</fo:block>
<fo:block font-size="12pt" text-align="right" margin-top="1cm">作者:AI机器人</fo:block>
<fo:block font-size="14pt" font-weight="bold" margin-top="2cm">第一章</fo:block>
<fo:block font-size="12pt" margin-top="1cm">这是一段普通文字。</fo:block>
<fo:block font-size="12pt" color="red" margin-top="1cm">这是一段红色文字。</fo:block>
<fo:block font-size="12pt" font-style="italic" margin-top="1cm">这是一段斜体文字。</fo:block>
<fo:block font-size="12pt" text-decoration="underline" margin-top="1cm">这是一段带下划线的文字。</fo:block>
<fo:block font-size="12pt" text-decoration="line-through" margin-top="1cm">这是一段带删除线的文字。</fo:block>
<fo:block font-size="14pt" font-weight="bold" margin-top="2cm">第二章</fo:block>
<fo:block font-size="12pt" text-align="center" margin-top="1cm">表格示例</fo:block>
<fo:table margin-top="1cm">
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell><fo:block>编号</fo:block></fo:table-cell>
<fo:table-cell><fo:block>姓名</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell><fo:block>001</fo:block></fo:table-cell>
<fo:table-cell><fo:block>张三</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell number-columns-spanned="2"><fo:block>合并两列</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:flow>
</fo:page-sequence>
</fo:root>
以上XSLFO文档示例包含了文字样式、段落样式和表格样式。读者可以参考本文档并结合实际需求编写更复杂的XSLFO文档。