此插件仅作为 付费附加组件 提供,需要 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>文件 > 从 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 认证。
认证设置:
在客户门户中创建 JWT 密钥
配置
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 theimportword_service_urlto be configured。如果提供的 URL 无效,
console.error将显示:The value provided inimportword_service_urlis 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>"
}| 字段 | 类型 | 是否必填? | 说明 |
|---|---|---|---|
|
| 必填 | 用于身份验证和授权的 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_optionstinymce.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 插件提供以下工具栏按钮:
| 工具栏按钮标识符 | 说明 |
|---|---|
| 打开导入对话框,用户可选择特定的 |
可通过以下方式将这些工具栏按钮添加到编辑器中:
toolbar配置选项。quickbars_insert_toolbar配置选项。
菜单项
Import from Word 插件提供以下菜单项:
| 菜单项标识符 | 默认菜单位置 | 描述 |
|---|---|---|
| 文件 | 打开导入对话框,以便用户可以选择一个特定的 |
可以通过以下方式将这些菜单项添加到编辑器中:
menu配置选项。contextmenu配置选项。
命令
Import from Word 插件提供以下 TinyMCE 命令。
| 命令 | 描述 |
|---|---|
ImportWord | 打开文件选择器,允许将 |
document.querySelector('button').addEventListener('click',
() => tinymce.activeEditor.execCommand('ImportWord')
);ImportWord 命令不能直接通过脚本在顶层或从浏览器控制台调用。相反,它需要用户在用户界面中进行特定的操作,例如点击工具栏按钮。为确保正确执行,该命令应在与特定用户交互相关的事件处理程序范围内调用,如示例所示。API 参考
在 Import from Word API 参考文档 中探索 Import from Word Premium 插件的全面 API 文档。