---
title: "从 .docx 导入自定义节点"
description: "了解如何使用 Import 扩展从 DOCX（Word）文件导入自定义节点。"
canonical_url: "https://tiptap.zhcndoc.com/conversion/import/docx/custom-node-mapping"
---

# 从 .docx 导入自定义节点

了解如何使用 Import 扩展从 DOCX（Word）文件导入自定义节点。

- **1. Activate trial or subscribe**

  Start a [free trial](https://cloud.tiptap.dev/v2?trial=true) or [subscribe to the Start plan](https://cloud.tiptap.dev/v2/billing) in your account.
- **2. Install from private repository**

  To install this frontend extension, authenticate according to the [setup guide](https://tiptap.zhcndoc.com/guides/pro-extensions.md) to access Tiptap's private npm repository.

The `@tiptap-pro/extension-import-docx` extension allows you to define how custom nodes in a DOCX file are mapped back to your Tiptap structure during import.

## 从 .docx 导入自定义节点

> **Interactive demo:** [ImportDocxCustomNode](https://embed-pro.tiptap.dev/preview/Extensions/ImportDocxCustomNode)

在导入 DOCX 文件时，您可以定义自定义节点如何转换回 Tiptap 节点。此操作通过向 `import` 命令传递一个自定义节点定义的数组来完成。

```ts
import { ImportDocx } from '@tiptap-pro/extension-import-docx'

// ... 在您的 Editor 或 useEditor 设置中：
ImportDocx.configure({
  token: 'your-jwt',
  // 注意：此配置仅用于演示
  endpoint: 'https://your-endpoint.com',
  imageUploadConfig: {
    url: 'https://your-endpoint.com/image-upload',
  },
  // ProseMirror 自定义节点映射
  prosemirrorNodes: {
    Hintbox: 'hintbox',
  },
}),
```

`@tiptap-pro/extension-import-docx` 的最新版本提供了 `prosemirrorNodes` 配置选项。此选项允许您将 DOCX 中的自定义节点映射到您的 Tiptap 结构中。上例中，我们将 DOCX 的 `Hintbox` 自定义节点映射为 Tiptap 结构中的 `hintbox` 自定义节点。这样，当 DOCX 中包含 `Hintbox` 自定义节点时，导入到 Tiptap 时会转换成 `hintbox` 节点。

> **DOCX、"prosemirrorNodes" 和 "prosemirrorMarks":**
>
> 请注意，`prosemirrorNodes` 和 `prosemirrorMarks` 选项仅在导入 `.docx` 文件时有效。如果您导入的是其他类型的文件，例如 `.odt` 文件，则会调用 `/import` 接口而非 `/import-docx`，此时 `prosemirrorNodes` 和 `prosemirrorMarks` 选项将不可用，因此您需要依赖[自定义节点和标记映射 API](https://tiptap.zhcndoc.com/conversion/import/docx/rest-api.md#custom-node-and-mark-mapping)来处理那些接口的映射。
