---
title: "模板打印 - 高级功能"
description: "模板打印高级功能：页码更新、目录生成、分页控制，Word 与 LibreOffice 插入方式。"
keywords: "模板打印,高级功能,页码,目录,分页,NocoBase"
---

## 高级功能

### 分页

#### 1. 页码更新

##### 语法
在 Office 软件中插入即可。

##### 示例
在 Microsoft Word 中：
- 使用 “插入 → 页码” 功能  
  在 LibreOffice 中：
- 使用 “插入 → 字段 → 页码” 功能

##### 结果
生成的报告中，各页页码会自动更新。


#### 2. 目录生成

##### 语法
在 Office 软件中插入即可。

##### 示例
在 Microsoft Word 中：
- 使用 “插入 → 索引和目录 → 目录” 功能  
  在 LibreOffice 中：
- 使用 “插入 → 目录和索引 → 目录、索引或参考书目” 功能

##### 结果
生成的报告目录会根据文档内容自动更新。


#### 3. 表头重复

##### 语法
在 Office 软件中插入即可。

##### 示例
在 Microsoft Word 中：
- 右键点击表头 → 表格属性 → 勾选“在每页顶部重复作为标题行”  
  在 LibreOffice 中：
- 右键点击表头 → 表格属性 → 文本流选项卡 → 勾选“重复标题”

##### 结果
当表格跨页时，表头自动在每页顶部重复显示。


### 国际化（i18n）

#### 1. 静态文本翻译

##### 语法
使用 `{t(文本)}` 标签对静态文本进行国际化：
```
{t(meeting)}
```

##### 示例
模板中：
```
{t(meeting)} {t(apples)}
```
JSON 数据或外部本地化字典（例如针对 "fr-fr"）中提供对应翻译，如 "meeting" → "rendez-vous"、"apples" → "Pommes"。

##### 结果
生成报告时，文本将根据目标语言替换为相应翻译。


#### 2. 动态文本翻译

##### 语法
对于数据内容可使用 `:t` 格式器，例如：
```
{d.id:ifEQ(2):show({t(monday)}):elseShow({t(tuesday)})}
```

##### 示例
模板中：
```
{d.id:ifEQ(2):show({t(monday)}):elseShow({t(tuesday)})}
```
JSON 数据和本地化字典中提供相应翻译。

##### 结果
根据条件判断，输出 “lundi” 或 “mardi”（以目标语言为例）。


### 键值映射

#### 1. 枚举转换（:convEnum）

##### 语法
```
{数据:convEnum(枚举名称)}
```
例如：
```
0:convEnum('ORDER_STATUS')
```

##### 示例
API options 示例中传入：
```json
{
  "enum": {
    "ORDER_STATUS": ["pending", "sent", "delivered"]
  }
}
```
模板中：
```
0:convEnum('ORDER_STATUS')
```

##### 结果
输出 “pending”；若索引超出枚举范围，则输出原始值。


### 动态图片
:::info
目前支持 XLSX, DOCX 类型的文件
:::
你可以在文档模板中插入“动态图片”，也就是说，模板中的占位图会在渲染时根据数据自动替换为真实图片。这个过程非常简单，只需要：

1. 插入一张临时图片作为占位符

2. 编辑该图片的“替代文字”来设置字段标签

3. 渲染文档，系统自动将其替换为实际图片

下面我们通过具体例子分别讲解 DOCX 和 XLSX 的操作方法。


#### 在 DOCX 文件中插入动态图片
##### 单张图片替换

1. 打开你的 DOCX 模板，插入一张临时图片（可以是任意一张占位图片，比如[纯蓝色图片](https://static-docs.nocobase.com/solid-color-image-2025-04-14-11-00-26.png)）

:::info
**图片格式说明**

- 目前占位符图片仅支持 PNG 类型的图片，推荐使用我们提供的示例图片[纯蓝色图片](https://static-docs.nocobase.com/solid-color-image-2025-04-14-11-00-26.png)
- 目标渲染图片仅支持 PNG, JPG, JPEG 的图片，其他类型图片可能会渲染失败。

**图片尺寸说明**

无论是 DOCX 还是 XLSX，最终渲染时的图片大小，将会沿用模板中临时图片的尺寸。也就是说，实际替换进去的图片会自动缩放为和您插入的占位图一致的大小。如果您希望渲染后的图片大小为 150×150，请在模板中使用一张临时图片并调整为该尺寸。
:::

2. 右键点击这张图片，编辑其 “替代文字（Alt Text）”，填入你希望插入的图片字段标签，例如 `{d.imageUrl}`：
   
![20250414211130-2025-04-14-21-11-31](https://static-docs.nocobase.com/20250414211130-2025-04-14-21-11-31.png)

3. 使用如下示例数据进行渲染：
```json
{
  "name": "Apple",
  "imageUrl": "https://images.pexels.com/photos/206959/pexels-photo-206959.jpeg",
}
```

4. 渲染后的结果，临时图片会被替换为实际图片：

![20250414203444-2025-04-14-20-34-46](https://static-docs.nocobase.com/20250414203444-2025-04-14-20-34-46.png)

##### 多张图片循环替换

如果你想在模板中插入一组图片，例如商品列表，也可以通过循环方式实现，具体步骤如下：
1. 假设你的数据如下：
```json
{
  "products": [
    {
      "name": "Apple",
      "imageUrl": "https://images.pexels.com/photos/206959/pexels-photo-206959.jpeg",
    },
    {
      "name": "Banana",
      "imageUrl": "https://images.pexels.com/photos/61127/pexels-photo-61127.jpeg",
    },
  ]
}
```

2. 在 DOCX 模板中设置循环区域，并在每个循环项中插入临时图片，替代文字设置为 `{d.products[i].imageUrl}`，如下所示：

![20250414205418-2025-04-14-20-54-19](https://static-docs.nocobase.com/20250414205418-2025-04-14-20-54-19.png)

3. 渲染后，所有临时图片都会被各自的数据图片替换：
   
![20250414205503-2025-04-14-20-55-05](https://static-docs.nocobase.com/20250414205503-2025-04-14-20-55-05.png)

#### 在 XLSX 文件中插入动态图片

在 Excel 模板（XLSX）中操作方式基本一致，只是注意以下几点：

1. 插入图片后，请确保选中的是“单元格内的图片”，而不是图片悬浮在单元格上方。

![20250414211643-2025-04-14-21-16-45](https://static-docs.nocobase.com/20250414211643-2025-04-14-21-16-45.png)

2. 选中单元格后点击查看“替代文字”来填入字段标签，比如 `{d.imageUrl}`。

### 条码
:::info
目前支持 XLSX, DOCX 类型的文件
:::

#### 生成条码（如二维码）

条形码的生成方式与动态图片相同，只需三步：

1. 在模板中插入一张临时图片，用于标记条码的位置

2. 编辑图片的“替代文字”，写入条码格式字段标签，例如 `{d.code:barcode(qrcode)}`，其中 `qrcode` 是条码的类型（详见下方支持列表）

![20250414214626-2025-04-14-21-46-28](https://static-docs.nocobase.com/20250414214626-2025-04-14-21-46-28.png)

3. 渲染后，该占位图将被自动替换为对应的条码图像：
   
![20250414214925-2025-04-14-21-49-26](https://static-docs.nocobase.com/20250414214925-2025-04-14-21-49-26.png)

#### 支持的条码类型

| 条码名称 | 类型   |
| -------- | ------ |
| 二维码   | qrcode |



