Xml 将封面插入XSL:FO模板
我使用过这些文档,其中我需要编辑现有代码,以便从数据库映射字段。XSL文档已经有了模板和区域。我的目标是在模板的任何页边距出现之前添加封面 代码如下所示:Xml 将封面插入XSL:FO模板,xml,xsl-fo,apache-fop,Xml,Xsl Fo,Apache Fop,我使用过这些文档,其中我需要编辑现有代码,以便从数据库映射字段。XSL文档已经有了模板和区域。我的目标是在模板的任何页边距出现之前添加封面 代码如下所示: <fo:layout-master-set> <fo:simple-page-master master-name="Letter Page" page-width="8.3in" page-height="11.7in" margin-top="0px" margin-bottom="0px" m
<fo:layout-master-set>
<fo:simple-page-master master-name="Letter Page" page-width="8.3in" page-height="11.7in"
margin-top="0px" margin-bottom="0px" margin-right="0px" margin-left="0px">
<fo:region-body region-name="xsl-region-body"
padding-top="0px" padding-bottom="0px" padding-left="0px" padding-right="0px"
margin-top="4.250cm" margin-bottom="2.750cm" margin-left="1.8cm" margin-right="1.8cm"
border-style="none" border-width="0px" border-color="" background="" background-repeat="no-repeat" background-position-horizontal="0px" background-position-vertical="0px"
extent="0px" column-gap="0px" column-count="1" reference-orientation="0"/>
<fo:region-before region-name="xsl-region-before"
display-align="after" extent="3.8cm"
padding-top="0px" padding-bottom="0px" padding-left="0px" padding-right="0px"
border-style="none" border-width="0px" border-color="" background="" background-repeat="no-repeat" background-position-horizontal="0px" background-position-vertical="0px" reference-orientation="0"/>
<fo:region-after region-name="xsl-region-after"
display-align="before" extent="2.750cm"
padding-top="0px" padding-bottom="0px" padding-left="0px" padding-right="0px"
border-style="none" border-width="0px" border-color="" background="" background-repeat="no-repeat" background-position-horizontal="0px" background-position-vertical="0px" reference-orientation="0"/>
<fo:region-start region-name="xsl-region-start"
extent="1.8cm"
padding-top="0px" padding-bottom="0px" padding-left="0px" padding-right="0px"
border-style="none" border-width="0px" border-color="" background="" background-repeat="no-repeat" background-position-horizontal="0px" background-position-vertical="0px" reference-orientation="0"/>
<fo:region-end region-name="xsl-region-end"
extent="1.8cm"
padding-top="0px" padding-bottom="0px" padding-left="0px" padding-right="0px"
border-style="none" border-width="0px" border-color="" background="" background-repeat="no-repeat" background-position-horizontal="0px" background-position-vertical="0px" reference-orientation="0"/>
</fo:simple-page-master>
</fo:layout-master-set>
然后页面开始为
<fo:page-sequence master-reference="Letter Page">
<fo:static-content flow-name="xsl-region-before" font-size="8pt" font-family="Arial">
然后是其他区域等。我查找了如何插入一些封面,但在尝试时不断出错,我使用的是记事本++并在每次测试时呈现pdf,因此这是一个非常耗时的过程。为了节省时间,我决定把一张图片作为封面。我知道这是一个FOP引擎1.0 我相信您想要尝试的是为您的封面定义一个新的简单页面母版,如果您不担心页边距等问题,您只需要给出区域主体定义,然后您就可以查看页面序列。在fo中,页面序列正是它听起来的样子,它是插入各种页面的顺序。如果查看,可以看到页面序列是如何定义的,以及如何以编程方式控制呈现哪些页面以及呈现顺序。如果你想要一个更复杂的例子,你也可以看看
如果您想了解如何将此应用于现有模板的更详细说明,那么有关模板当前功能的更多详细信息可能会有所帮助。以下是一个简单的示例,可以帮助您完成此过程:
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master page-width="8.5in" page-height="11in" master-name="Cover">
<fo:region-body margin-top="0pt" background-color="red"/>
<fo:region-before extent="0pt"/>
<fo:region-after extent="0pt"/>
</fo:simple-page-master>
<fo:simple-page-master margin-top="1in" margin-left="1in"
margin-bottom="18pt" margin-right="18pt"
page-width="8.5in" page-height="11in" master-name="Pages">
<fo:region-body margin-top="0pt"/>
<fo:region-before extent="0pt"/>
<fo:region-after extent="0pt"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="Cover">
<fo:flow flow-name="xsl-region-body">
<fo:block text-align="center">
I am a Cover Page, format me however you wish!
</fo:block>
</fo:flow>
</fo:page-sequence>
<fo:page-sequence master-reference="Pages">
<fo:flow flow-name="xsl-region-body">
<fo:block>
I am the rest of the text in the "Pages" page-sequence.
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
我是一个封面,格式我不管你想!
我是“页面”页面序列中的其余文本。
“封面”页面序列可以包含您想要的任何内容(我放了一些文本并将其变成红色),而“页面”页面序列包含其余内容
这将生成一个两页的文档,如下所示:
<fo:layout-master-set>
<fo:simple-page-master master-name="Letter Page" page-width="8.3in" page-height="11.7in"
margin-top="0px" margin-bottom="0px" margin-right="0px" margin-left="0px">
<fo:region-body region-name="xsl-region-body"
padding-top="0px" padding-bottom="0px" padding-left="0px" padding-right="0px"
margin-top="4.250cm" margin-bottom="2.750cm" margin-left="1.8cm" margin-right="1.8cm"
border-style="none" border-width="0px" border-color="" background="" background-repeat="no-repeat" background-position-horizontal="0px" background-position-vertical="0px"
extent="0px" column-gap="0px" column-count="1" reference-orientation="0"/>
<fo:region-before region-name="xsl-region-before"
display-align="after" extent="3.8cm"
padding-top="0px" padding-bottom="0px" padding-left="0px" padding-right="0px"
border-style="none" border-width="0px" border-color="" background="" background-repeat="no-repeat" background-position-horizontal="0px" background-position-vertical="0px" reference-orientation="0"/>
<fo:region-after region-name="xsl-region-after"
display-align="before" extent="2.750cm"
padding-top="0px" padding-bottom="0px" padding-left="0px" padding-right="0px"
border-style="none" border-width="0px" border-color="" background="" background-repeat="no-repeat" background-position-horizontal="0px" background-position-vertical="0px" reference-orientation="0"/>
<fo:region-start region-name="xsl-region-start"
extent="1.8cm"
padding-top="0px" padding-bottom="0px" padding-left="0px" padding-right="0px"
border-style="none" border-width="0px" border-color="" background="" background-repeat="no-repeat" background-position-horizontal="0px" background-position-vertical="0px" reference-orientation="0"/>
<fo:region-end region-name="xsl-region-end"
extent="1.8cm"
padding-top="0px" padding-bottom="0px" padding-left="0px" padding-right="0px"
border-style="none" border-width="0px" border-color="" background="" background-repeat="no-repeat" background-position-horizontal="0px" background-position-vertical="0px" reference-orientation="0"/>
</fo:simple-page-master>
</fo:layout-master-set>
非常感谢。我想在我的测试中,我不断地弄乱一些语法或者错过了结构。你的例子实际上帮助很大。谢谢你,布朗。