XSLFO文档学习笔记

本文介绍了XSLFO文档的基础知识和常用语法及样式,以便读者了解XSLFO文档的结构和格式。

1. XSLFO文档结构

XSLFO文档由以下部分组成:

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文档。