使用页眉和页脚扩展您的 ODT 导出
Available in Start planBetav0.3.0
@tiptap-pro/extension-export-odt 扩展内置支持自定义导出文档的页眉和页脚。您可以为首页、奇数页和偶数页配置不同的页眉和页脚。
页眉配置
headers 对象允许您自定义导出 ODT 文档的页眉:
| 属性 | 类型 | 说明 |
|---|---|---|
evenAndOddHeaders | boolean | 是否为奇数页和偶数页使用不同的页眉 |
differentFirstPage | boolean | 是否首页使用不同的页眉。当为 true 时,首页使用 first 的值,替代 default。 |
default | string | 所有页的默认页眉,或当激活 evenAndOddHeaders 时,奇数页使用的页眉。支持纯文本字符串或字符串化的 Tiptap JSONContent 实现富格式化。 |
first | string | 首页页眉,仅当 differentFirstPage 设为 true 时生效。支持纯文本字符串或字符串化的 Tiptap JSONContent 实现富格式化。 |
even | string | 偶数页页眉,仅当激活 evenAndOddHeaders 时生效。支持纯文本字符串或字符串化的 Tiptap JSONContent 实现富格式化。 |
使用纯文本时,将生成简单无样式的页眉。使用字符串化的 Tiptap JSONContent(通过 JSON.stringify())时,将保留粗体、斜体和链接等富格式化。
页脚配置
footers 对象允许您自定义导出 ODT 文档的页脚:
| 属性 | 类型 | 说明 |
|---|---|---|
evenAndOddFooters | boolean | 是否为奇数页和偶数页使用不同的页脚 |
differentFirstPage | boolean | 是否首页使用不同的页脚。当为 true 时,首页使用 first 的值,替代 default。 |
default | string | 所有页的默认页脚,或当激活 evenAndOddFooters 时,奇数页使用的页脚。支持纯文本字符串或字符串化的 Tiptap JSONContent 实现富格式化。 |
first | string | 首页页脚,仅当 differentFirstPage 设为 true 时生效。支持纯文本字符串或字符串化的 Tiptap JSONContent 实现富格式化。 |
even | string | 偶数页页脚,仅当激活 evenAndOddFooters 时生效。支持纯文本字符串或字符串化的 Tiptap JSONContent 实现富格式化。 |
使用纯文本时,将生成简单无样式的页脚。使用字符串化的 Tiptap JSONContent(通过 JSON.stringify())时,将保留粗体、斜体和链接等富格式化。
完整示例
import { ExportOdt } from '@tiptap-pro/extension-export-odt'
const editor = new Editor({
extensions: [
// 其他扩展...
ExportOdt.configure({
token: 'YOUR_TOKEN',
appId: 'YOUR_APP_ID',
headers: {
evenAndOddHeaders: true,
default: '我的文档 - 机密',
first: '欢迎阅读我的文档',
even: '我的文档 - 偶数页',
},
footers: {
evenAndOddFooters: true,
default: '公司名称 - 版权所有',
first: '草稿版本 1.0',
even: '公司名称 - 偶数页脚',
},
}),
// 其他扩展...
],
})
// 以包含页眉和页脚的形式导出
editor
.chain()
.exportOdt({
onCompleteExport(result) {
const url = URL.createObjectURL(result)
const a = document.createElement('a')
a.href = url
a.download = '带页眉的文档.odt'
a.click()
URL.revokeObjectURL(url)
},
})
.run()简单的页眉和页脚
如果您不需要奇偶页不同的页眉,可以只提供 default 值:
ExportOdt.configure({
token: 'YOUR_TOKEN',
appId: 'YOUR_APP_ID',
headers: {
default: '我的文档标题',
},
footers: {
default: '页脚 - 公司名称',
},
})