使用页眉和页脚扩展您的 DOC 导出功能
Available in Start planBetav0.6.1
考虑改用 DOCX
DOC 格式是 Microsoft Word 97-2003 的传统格式。对于现代用途,我们建议导出为 DOCX。仅在需要兼容旧系统时才使用 DOC。
@tiptap-pro/extension-export-doc 扩展在导出文档时原生支持自定义页眉和页脚。你可以为首页、奇数页和偶数页配置不同的页眉和页脚。
页眉配置
headers 对象允许你自定义导出的 DOC 文档页眉:
| Property | Type | Description |
|---|---|---|
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 对象允许你自定义导出的 DOC 文档页脚:
| Property | Type | Description |
|---|---|---|
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 { ExportDoc } from '@tiptap-pro/extension-export-doc'
const editor = new Editor({
extensions: [
// 其他扩展...
ExportDoc.configure({
token: 'YOUR_TOKEN',
headers: {
evenAndOddHeaders: true,
default: '我的文档 - 机密',
first: '欢迎使用我的文档',
even: '我的文档 - 偶数页',
},
footers: {
evenAndOddFooters: true,
default: '公司名称 - 保留所有权利',
first: '草稿版本 1.0',
even: '公司名称 - 偶数页页脚',
},
}),
// 其他扩展...
],
})
// 导出带有页眉和页脚的文档
editor
.chain()
.exportDoc({
onCompleteExport(result) {
const url = URL.createObjectURL(result)
const a = document.createElement('a')
a.href = url
a.download = 'document-with-headers.doc'
a.click()
URL.revokeObjectURL(url)
},
})
.run()简单页眉和页脚
如果你不需要为奇数页和偶数页设置不同的页眉,可以只提供一个 default 值:
ExportDoc.configure({
token: 'YOUR_TOKEN',
headers: {
default: '我的文档标题',
},
footers: {
default: '页脚 - 公司名称',
},
})