创建 PDF 文 档部件模板库
在默认模板包中,文件 docpart_templates.html
定义了库和一些默认文档部件模板。在文档部件模板库中,创建您想要在整个报告中重复使用的文档部件。您可以为文档中想要重复的任何部分创建部件模板,而无需以编程方式重新定义它。
文档部件模板通常由固定内容和空位组成。它还可以包括描述页面大小、边距和方向以及页眉和页脚的页面布局元素。您可以使用为此目的提供的 DOM API HTML 元素和 HTML 元素子集创建 PDF 文档部件模板库。
使用此工作流程来处理您的文档部件模板库。
解压包含部件模板库文件的模板包。
在 HTML 或文本编辑器中打开文档部件模板文件(默认名为
docpart_templates.html
)。根据需要使用 PDF 文 档部件模板库结构 中描述的元素编辑文件。
在模板包中的
.css
文件中添加支持文档部件模板的任何样式。请参阅修改 PDF 模板中的样式。保存您编辑的库文件。
使用
ziptemplate
重新打包模板。
PDF 文 档部件模板库结构
您使用 <dplibrary>
元素创建文档部件库。在 docpart_template.html
文件的 <body>
元素内添加 <dplibrary>
元素。您的模板包只能有一个 <dplibrary>
元素。
对于要创建的每个文档部件模板,请在 <dplibrary>
元素内使用 <dptemplate>
元素。您可以根据需要创建任意数量的文档部件模板。
此代码显示了文档部件库的基本结构体。<dptemplate>
元素具有属性 name
,您可以将其设置为用于调用文档部件的名称。该名称相当于 Word 中快速部件库中的部件名称。如果您正在为多个输出创建模板,请在两个地方使用相同的名称。
<body>
<dplibrary>
<dptemplate name="myFirstDocPartTemp">
[Document part template content here--
holes, fixed content, page layout information, and HTML]
</dptemplate>
</dplibrary>
</body>
文档部件模板库内容
您可以使用 DOM API HTML 元素和标准 HTML 元素的子集来创建 PDF 文档部件模板。有关如何使用 DOM API HTML 元素的示例,请参阅:
DOM API HTML 元素
除了用于定义库和文档部件的 <dplibrary>
和 <dptemplate>
元素之外,您还可以在 PDF 模板中使用这些 DOM API HTML 元素。
用途 | 元素 | 属性 | 值 |
---|---|---|---|
页面布局 | layout | style |
|
first-page-number | 版面首页的页数 | ||
page-number-format | n 或 N 表示数字,a 、A 、i 、I | ||
section-break | 此布局的起始部分:Odd Page 、Even Page 或 Next Page | ||
页眉 | pheader | type | default , first , even |
template-name | 定义标题的文档部件模板 | ||
页脚 | pfooter | type | default , first , even |
template-name | 定义页脚的文档部件模板 | ||
页码格式(与布局上的 first-page-number 和 page-number-format 相同) | pnumber | format | n 或 N 表示数字,a 、A 、i 、I |
initial-value | 布局中使用此元素的第一页的编号 | ||
空位 | hole | id | 通过名称识别空位的 ID |
default-style-name | 当未通过编程设置样式时使用的样式表样式 | ||
目录 | toc | number-of-levels | 目录中包含的标题级别数 |
leader-pattern | 要使用的引导符模式:dots 、space 、句点或空格 | ||
自动编号 | autonumber | stream-name | counter-increment 样式指定的流的名称 |
当前页码 | page | 无属性 | |
文档总页数 | numpages | 无属性 | |
分页符 | pagebreak | 无属性 | |
目标所在页面的数字引用 | pageref | target | 目标 ID;使用 mlreportgen.dom.LinkTarget 在报告中创建目标 |
将标题或其他样式的内容插入页眉或页脚(用于运行页眉和页脚) | styleref | 无属性 | 插入最近的 h1 元素的内容 |
style-name | 要在页眉或页脚中插入内容的样式的名称 | ||
outline-level | 大纲级别的样式,其中包含要在页眉或页脚中插入的内容 | ||
在页面布局中插入水印图像 | watermark | src | 用作水印图像的源文件的路径。将水印图片存放在模板包中。请参阅PDF 页面布局中的水印。 |
width | 按比例缩放水印图像的宽度,格式为 | ||
height | 水印图像的高度比例,格式为 valueUnits |
有关属性的详细信息,请参阅这些相应 DOM API 类的属性。
标准 HTML 元素
您可以在 PDF 模板中使用这些标准 HTML 元素。
HTML 元素 | 属性 |
---|---|
a | class , style , href , name |
address | class , style |
b | class , style |
big | class , style |
blockquote | class , style |
body | class , style |
br | 不适用 |
center | class , style |
cite | class , style |
code | class , style |
dd | class , style |
del | class , style |
dfn | class , style |
div | class , style |
dl | class , style |
dt | class , style |
em | class , style |
font | class , style , color , face , size |
h1, h2, h3, h4, h5, h6 | class , style , align |
hr | class , style , align |
i | class , style |
ins | class , style |
img | class , style , src , height , width |
kbd | class , style |
li | class , style |
mark | class , style |
nobr | class , style |
ol | class , style |
p | class , style , align |
pre | class , style |
s | class , style |
samp | class , style |
small | class , style |
span | class , style |
strike | class , style |
strong | class , style |
sub | class , style |
sup | class , style |
table | class , style , align , bgcolor , border , cellspacing , cellpadding , frame , rules , width |
tbody | class , style , align , valign |
tfoot | class , style , align , valign |
thead | class , style , align , valign |
td | class , style , bgcolor , height , width , colspan , rowspan ,align , valign , nowrap |
th | class , style , bgcolor , height , width , colspan , rowspan ,align , valign , nowrap |
tr | class , style , align ,bgcolor , valign |
tt | class , style |
u | class , style |
ul | class , style |
var | class , style |
有关这些元素的信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/HTML/Element。