创建 PDF 文档部件模板库
在默认模板包中,文件 docpart_templates.html 定义了库和一些默认文档部件模板。在文档部件模板库中,创建您想要在整个报告中重使的文档部件。您可以为文档中想要重复的任何部分创建部件模板,而无需以编程方式重新定义它。
文档部件模板通常由固定内容和空位组成。它还可以包括描述页面大小、边距和方向以及页眉和页脚的页面布局元素。您可以使用为此目的提供的 DOM API HTML 元素和 HTML 元素子集创建 PDF 文档部件模板库。
使用此工作流程来处理您的文档部件模板库。
解压包含部件模板库文件的模板包。
在 HTML 或文本编辑器中打开文档部件模板文件(默认名为
docpart_templates.html)。根据需要使用 PDF 文档部件模板库结构 中描述的元素编辑文件。
在模板包中的
.css文件中添加支持文档部件模板的任何样式。请参阅修改 PDF 模板中的样式。保存您编辑的库文件。
使用
ziptemplate重新打包模板。
PDF 文档部件模板库结构
您使用 <dplibrary> 元素创建文档部件库。在 <dplibrary> 文件的 <body> 元素内添加 docpart_template.html 元素。您的模板包只能有一个 <dplibrary> 元素。
对于要创建的每个文档部件模板,请在 <dptemplate> 元素内使用 <dplibrary> 元素。您可以根据需要创建任意数量的文档部件模板。
此代码显示了文档部件库的基本结构体。<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 | 按比例缩放水印图像的高度,指定为字符向量或字符串标量,其中包含一个数字,后跟一个测量单位的缩写。例如,
|
有关属性的详细信息,请参阅这些相应 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。