此插件仅作为 付费附加组件 提供,需要 TinyMCE 订阅。

“从 Word 导入”插件可将 .docx(Word 文档)或 .dotx(Word 模板)文件导入编辑器。该过程会保留格式和富媒体内容。

交互式示例

HTML

<textarea id="importword">
  <h1 style="font-size: 1.5em; color: black; margin-top: 0; text-align: left;">从 MS Word 导入</h2>
  <ol style="padding-left: 20px; margin: 10px 0;">
      <li style="margin-bottom: 10px;">点击工具栏中的 <strong>从 Word 导入</strong> 按钮,或在菜单中选择 <strong>文件 &gt; 从 Word 导入</strong>。</li>
      <li style="margin-bottom: 10px;">选择要上传的 DOCX 文件。</li>
      <li style="margin-bottom: 10px;">按需要编辑导入的内容。</li>
  </ol>
  <p style="font-size: 0.9em; color: #555; text-align: left; margin-top: 15px;">了解更多关于 <strong>从 Word 导入</strong> 及其他文档转换器(<a href="https://www.tiny.cloud/tinymce/features/export-word/" style="color: #0066cc; text-decoration: none; border-bottom: 1px dotted #0066cc;">导出为 Word</a> 和 <a href="https://www.tiny.cloud/tinymce/features/export-pdf/" style="color: #0066cc; text-decoration: none; border-bottom: 1px dotted #0066cc;">导出为 PDF</a>)的信息,请访问 <a href="https://www.tiny.cloud" style="color: #0066cc; text-decoration: none; border-bottom: 1px dotted #0066cc;">https://www.tiny.cloud</a>。</p>
</textarea>

JS

tinymce.init({
  selector: 'textarea#importword',
  height: '800px',
  plugins: [
    "importword", "advlist", "anchor", "autolink", "charmap", "code", "fullscreen",
    "help", "image", "insertdatetime", "link", "lists", "media",
    "preview", "searchreplace", "table", "visualblocks",
],
toolbar: "undo redo | importword | styles | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image",
});

使用 Tiny Cloud 服务的基本设置

要将“从 Word 导入”插件添加到编辑器,请在编辑器配置的 plugins 选项中添加 importword。

例如:

tinymce.init({
  selector: 'textarea',
  plugins: 'importword',
  toolbar: 'importword',
  // 基于云的“从 Word 导入”插件在 Tiny Cloud 中使用所需
  // 在客户门户中创建 JWT 密钥以启用试用功能,在试用期间可无水印导出
  importword_token_provider: () => {
    return fetch('http://localhost:3000/jwt', { // 指定您的令牌端点
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
    }).then(response => response.json());
  },
});

有关使用模块打包器捆绑此插件的信息,请参阅 捆绑 TinyMCE - 概述。

有关 importword_token_provider 选项的更多信息,请参阅 importword_token_provider。

“从 Word 导入”插件在使用 Tiny Cloud 服务时需要 JWT 认证。

认证设置:

  1. 在客户门户中创建 JWT 密钥

  2. 配置 importword_token_provider 选项以指定获取 JWT 令牌的端点

有关如何为“从 Word 导入”设置 JWT 认证的更多信息,请参阅示例:使用 JWT 认证从 Word 导入(Node.js)或 使用 JWT 认证从 Word 导入(PHP)

试用期行为

  • 试用期:

    • 使用 JWT:完整功能,无限使用,无水印。

    • 未使用 JWT:完整功能,但带水印且有页面限制。

  • 试用结束后:

    • 使用“从 Word 导入”附加组件 + JWT:完整功能(基于订阅)

    • 未使用附加组件:插件权限被禁用,功能不再可用。

访问 账户门户 获取您的 JWT 密钥并测试完整功能。

在使用云托管服务且位于防火墙或正向代理后时,确保 *.tiny.cloud 被加入白名单,并且所需的 HTTP 头未被剥离。详情请参阅 防火墙和代理白名单。

使用自托管服务的基本设置

要使用自托管版本的“从 Word 导入”插件,您需要将 importword_service_url 选项设置为服务的 URL。

例如:
tinymce.init({
  selector: 'textarea',
  plugins: 'importword',
  toolbar: 'importword',
  importword_service_url: 'http://localhost:8080/' // 使用您正在使用的服务的 URL 更新,例如 'http://myserver.com/'
});

importword_service_url 选项会自动在所提供的 URL 后追加 /v2/convert/docx-html,因此只需填写基础 URL。例如,如果服务托管在 http://localhost:8080/v2/convert/docx-html,则应将 importword_service_url 选项设置为 http://localhost:8080/。在生产环境中使用时,请确保将 importword_service_url 更新为生产环境的 URL,例如 https://myserver.com/。

选项

以下配置选项会影响 Import from Word 插件的行为。

importword_service_url

importword_service_url 选项用于设置 DOCX 转 HTML 转换服务的 URL 端点。

在 on-premise(本地部署)环境中配置 Import from Word 插件时,此选项为必填项。如果您需要访问此功能,请联系我们。关于使用 Docker 部署 Import from Word 服务端组件的详细说明,请参阅本地部署文档。

使用自定义主机时,请在 TinyMCE 配置中设置 importword_service_url 选项以匹配您的主机。例如,如果您的自定义主机是 mycustomhost.com,请将 URL 设置为 https://mycustomhost.com/。

类型:String

示例:设置 importword_service_url

tinymce.init({
  selector: 'textarea',
  plugins: 'importword',
  toolbar: 'importword',
  importword_service_url: '<service-URL>' // required for On-premise setups only
});
  • 如果 importword_service_url 选项未配置,console.error 将显示:The Import from Word plugin requires the importword_service_url to be configured。

  • 如果提供的 URL 无效,console.error 将显示:The value provided in importword_service_url is not a valid URL。

importword_token_provider

importword_token_provider 选项支持与基于令牌的身份验证服务集成,用于导入 Word 文档。它提供了从指定端点获取身份验证令牌的机制,以确保导入过程能与服务器安全通信。

类型:Function

默认值:undefined

返回数据:Token 对象

示例:使用 importword_token_provider

tinymce.init({
  selector: 'textarea',
  plugins: 'importword',
  toolbar: 'importword',
  importword_token_provider: () => { // required when using the Import from Word plugin with Tiny Cloud.
    return fetch('http://localhost:3000/jwt', { // specify your token endpoint
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
    }).then(response => response.json());
  },
});

JWT 令牌的数据结构

包含有效编码令牌的对象必须符合以下结构:

{
  token: "<encoded JWT string>"
}
字段类型是否必填?说明

token

string

必填

用于身份验证和授权的 Base64 编码 JSON Web Token (JWT)。

importword_converter_options

类型:String

从 TinyMCE 7.5.0 开始,importword_converter_options 设置的默认值已更新为以下内容:
默认值:
importword_converter_options: {
  formatting: {
    styles: 'inline',
    resets: 'inline',
    defaults: 'inline',
  }
}

importword_converter_options 设置允许您自定义 Import from Word 插件在将 Word 文档转换为 HTML 时的行为。

示例:使用 importword_converter_options
tinymce.init({
  selector: 'textarea',
  plugins: 'importword',
  toolbar: 'importword',
  importword_service_url: '<service_URL>', // required if using On-premises service
  importword_converter_options: {
    formatting: {
      resets: 'inline',
      defaults: 'inline',
      styles: 'none',
    }
  }
});
有关可用转换器选项的更多信息,请参阅 Import from Word API 文档。

工具栏按钮

Import from Word 插件提供以下工具栏按钮:

工具栏按钮标识符说明

importword

打开导入对话框,用户可选择特定的 .docx 或 .dotx 文件。

可通过以下方式将这些工具栏按钮添加到编辑器中:

菜单项

Import from Word 插件提供以下菜单项:

菜单项标识符默认菜单位置描述

importword

文件

打开导入对话框,以便用户可以选择一个特定的 .docx 或 .dotx 文件。

可以通过以下方式将这些菜单项添加到编辑器中:

命令

Import from Word 插件提供以下 TinyMCE 命令。

命令描述

ImportWord

打开文件选择器,允许将 .docx 或 .dotx 文件中的内容导入到编辑器中。

示例
document.querySelector('button').addEventListener('click',
  () => tinymce.activeEditor.execCommand('ImportWord')
);
ImportWord 命令不能直接通过脚本在顶层或从浏览器控制台调用。相反,它需要用户在用户界面中进行特定的操作,例如点击工具栏按钮。为确保正确执行,该命令应在与特定用户交互相关的事件处理程序范围内调用,如示例所示。

API 参考

在 Import from Word API 参考文档 中探索 Import from Word Premium 插件的全面 API 文档。