1、划横线
<xsl:template name="DrawLine">
<fo:block space-before="-7pt" space-after="1pt">
<fo:leader leader-pattern="rule" rule-style="dotted"
rule-thickness="0.35pt" color="black" leader-length="100%" />
</fo:block>
</xsl:template>
2、<!--报表每隔五行显示一条横线的方法 -->
<xsl:template name="ReportTable">
<fo:block>
<fo:table>
<fo:table-column column-width="100pt" />
<fo:table-column column-width="100pt" />
<fo:table-column column-width="100pt" />
<fo:table-header>
<fo:table-row>
<fo:table-cell>
<fo:block space-before="3pt" space-after="5pt"
font-size="8pt" line-height="11pt">
<xsl:value-of select="Year" />
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block space-before="3pt" space-after="5pt"
text-align="right" font-size="8pt" line-height="11pt">
<xsl:value-of select="Additions" />
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block space-before="3pt" space-after="5pt"
text-align="right" font-size="8pt" line-height="11pt">
<xsl:value-of select="Withdrawals" />
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body>
<xsl:for-each select="//ts[@d!='-1']">
<xsl:variable name="d">
<xsl:value-of select="@d" />
</xsl:variable>
<fo:table-row height="11pt">
<fo:table-cell>
<fo:block font-size="8pt">
<xsl:value-of select="$starYear + @d" />
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font-size="8pt" text-align="right">
<xsl:value-of select="$starYear + @d" />
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font-size="8pt" text-align="right">
<xsl:value-of select="$starYear + @d" />
</fo:block>
</fo:table-cell>
</fo:table-row>
<xsl:if test="position() mod 5 = 0 and position() != last()">
<fo:table-row>
<fo:table-cell number-columns-spanned="7">
<fo:block space-before="-7pt" space-after="1pt">
<fo:leader leader-pattern="rule" rule-style="dotted"
rule-thickness="0.35pt" color="black" leader-length="100%" />
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:if>
</xsl:for-each>
</fo:table-body>
</fo:table>
</fo:block>
</xsl:template>
3、报表强行分页的方法
在fo:table-row 中添加break-after="page" 属性,则该row将从新的一页开始生成
4、黑顶的标题模板
<xsl:variable name="greyheader">rgb(217,217,217)</xsl:variable>
<xsl:template name="HeaderBar">
<xsl:param name="Title" />
<xsl:param name="Color" select="$greyheader" />
<xsl:param name="Fontwt">
bold
</xsl:param>
<xsl:param name="Indent">
3pt
</xsl:param>
<xsl:param name="SpaceAfter">
5pt
</xsl:param>
<xsl:param name="FrameStyle" />
<xsl:param name="Text" />
<xsl:param name="TextFontSize" />
<fo:table table-layout="fixed" space-after="{$SpaceAfter}"
inline-progression-dimension.optimum="100%">
<xsl:if test="$Color!=''">
<xsl:attribute name="background-color">
<xsl:value-of select="$Color" />
</xsl:attribute>
</xsl:if>
<xsl:attribute name="font-size">
<xsl:choose>
<xsl:when test="$TextFontSize!=''">
<xsl:value-of select="$TextFontSize" />
</xsl:when>
<xsl:when test="$FrameStyle='large'">
<xsl:value-of select="$FtSzH2" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$FtSzH1" />
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="height">
<xsl:choose>
<xsl:when test="$FrameStyle='large'">12.5pt</xsl:when>
<xsl:otherwise>10.4pt</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:if test="$FrameStyle='large'">
<xsl:attribute name="border-width">0pt</xsl:attribute>
</xsl:if>
<fo:table-column />
<fo:table-body>
<fo:table-row keep-with-next="always">
<xsl:attribute name="height">
<xsl:choose>
<xsl:when test="$FrameStyle='large'">3.5pt</xsl:when>
<xsl:otherwise>2pt</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</fo:table-row>
<fo:table-row keep-with-next="always">
<fo:table-cell>
<fo:block font-weight="{$Fontwt}" text-indent="{$Indent}"
space-after="0pt">
<xsl:value-of select="$Title" />
<xsl:if test="$Text != ''">
<fo:inline font-weight="normal" white-space-collapse="false">
<xsl:attribute name="font-size">
<xsl:choose>
<xsl:when test="$TextFontSize!=''">
<xsl:value-of select="$TextFontSize" />
</xsl:when>
<xsl:when test="$FrameStyle='large'">
<xsl:value-of select="$FtSzT2" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$FtSzT0" />
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:text></xsl:text>
<xsl:value-of select="$Text" />
</fo:inline>
</xsl:if>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</xsl:template>
5 SVG画曲线时在FOP不同版本显示不一样,为了显示正确,引入style属性进行配置虚线。
<svg:line stroke-width="0.15" stroke="#000000" x1="{$OriginX}" x2="{number($InnerCanvasWidth + $addmorespace - 3)}" y1="{number($InnerCanvasHeight - $addingScale + 6) }" y2="{number($InnerCanvasHeight - $addingScale + 6) }" style="stroke:black;fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-dasharray:0.1,2;"/>
分享到:
相关推荐
XSL-FO 简介 XSL-FO 的简介。包括其概念和作用。 XSL-FO 文档 本章将解 XSL-FO 文档的结构。 XSL-FO 区域 本章讲解 XSL-FO 的区域模型(area model)。 XSL-FO 输出 本章讲解 XSL-FO 文档的输出元素(Output ...
10. **XSL-FO软件**:学习和使用XSL-FO时,会涉及各种工具,如处理器(将XSL-FO转换为实际的输出格式如PDF)和编辑器,帮助开发者编写和调试XSL-FO文档。 XSL-FO的一个关键优势在于它的标准化,这意味着无论使用哪...
### XSL-FO PDF:XML to XSL-FO Transformation详解 #### 概述 XSL-FO(Extensible Stylesheet Language Formatting Objects)是一种基于XML的标准,用于定义文档的布局和格式化规则,常用于生成高质量的PDF、打印...
《XSL-FO高级技术详解》 XSL-Format Object(XSL-FO)是W3C推荐的一种格式化对象语言,它用于将XML文档转换为各种呈现媒介,如PDF、HTML、RTF等。本篇文章将深入探讨XSL-FO的高级技术,帮助读者掌握如何利用这一...
从BIPublisher11中提出的其中java lib包。 手动调用其API,可以查看从rtf模板生成的xsl-fo代码。
XSL-FO 用于格式化供输出的 XML 数据。 学习之前应当具备的基础知识 在您学习 XSL-FO 之前,应当对 XML 和 XML 命名空间有基本的了解。 什么是 XSL-FO? XSL-FO 是用于格式化 XML 数据的语言 XSL-FO 指可扩展样式...
XSL-FO.CHMXSL-FO.CHMXSL-FO.CHMXSL-FO.CHMXSL-FO.CHMXSL-FO.CHMXSL-FO.CHMXSL-FO.CHMXSL-FO.CHMXSL-FO.CHMXSL-FO.CHMXSL-FO.CHMXSL-FO.CHM
**XSL-FO基础知识详解** XSL-Format Object (XSL-FO) 是一种XML标记语言,用于将结构化XML数据转换成具有固定布局的可打印或可视化的文档,如PDF、PostScript或HTML。它是XSL(Extensible Stylesheet Language)的...
xsl-fo实现交叉报表,下面又是树型纬度,以po做示例。
通过深入理解和熟练应用XSL-FO,开发者能够将XML数据转化为高质量的、具有专业排版效果的文档,广泛应用于电子出版、报告生成、报表设计等领域。结合`www.pudn.com.txt`和`XSL-FO 高级技术`等资源,可以进一步深入...
FOP(Formatter Object Processor)是Apache软件基金会的一个开源项目,它实现了XSL-FO标准,可以将XML和XSL-FO文件转换为PDF格式。Fop插件是一个便捷的工具,开发者可以利用它快速地将XML数据转换成高质量的PDF文档...
xml-xslt-xsl-fo-dotnet 使用XML,XSLT,XSL-FO和在.NET中生成PDF文档的。 XML数据示例,XSL样式表和生成的PDF位于文件夹中(XML和XSL由)。 产生结果result.pdf : 建立解决方案 将source.xml和stylesheet.xsl...
从BIPublisher11中提出的其中java lib包。 手动调用其API,可以查看从rtf模板生成的xsl-fo代码。
参考www.w3school.com.cn做的简单的,详情请参考w3网站吧。
XSL-FO(XSL Formatting Objects)是一种基于XML的标记语言,用于描述文档的版面布局和格式化。它与XSLT(XSL Transformations)一起使用,可以将XML数据转换成可打印或显示的文档,如PDF、PostScript或HTML。在IT...
XSL-FO是用于格式化XML数据的语言,全称为Extensible Stylesheet Language Formatting Objects(格式化对象的可扩展样式表语言),是W3C参考标准,现在通常叫做XSL。
XSL-Stylesheets Source: DocBook-XSL-1.79.1