本仓库是 SimpleMDE,由 Sparksuite 制作 的一个分支。 更多信息请查看 专门的章节。
这是一个用于编写美观易懂的 Markdown 的即插即用的 JavaScript 文本区域替代品。 EasyMDE 允许经验较少的 Markdown 用户使用熟悉的工具栏按钮和快捷键。
此外,在编辑时会实时渲染语法,清晰地显示预期结果。标题更大,强调的词语变为斜体,链接带有下划线等。
EasyMDE 还具有内置的自动保存和拼写检查功能。 编辑器完全可定制,从主题到工具栏按钮和 JavaScript 钩子都可以自定义。
通过 npm:
npm install easymde
通过 UNPKG CDN:
<link rel="stylesheet" href="https://unpkg.com/easymde/dist/easymde.min.css"> <script src="https://unpkg.com/easymde/dist/easymde.min.js"></script>
或 jsDelivr:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/easymde/dist/easymde.min.css"> <script src="https://cdn.jsdelivr.net/npm/easymde/dist/easymde.min.js"></script>
安装和/或导入模块后,你可以将 EasyMDE 加载到网页上的第一个 textarea
元素:
<textarea></textarea> <script> const easyMDE = new EasyMDE(); </script>
或者你可以通过 JavaScript 选择特定的 textarea
:
<textarea id="my-text-area"></textarea> <script> const easyMDE = new EasyMDE({element: document.getElementById('my-text-area')}); </script>
使用 easyMDE.value()
获取编辑器的内容:
<script> easyMDE.value(); </script>
使用 easyMDE.value(val)
设置编辑器的内容:
<script> easyMDE.value('New input for **EasyMDE**'); </script>
true
,则强制下载Font Awesome(用于图标)。如果设置为 false
,则阻止下载。默认为 undefined
,会智能检查Font Awesome是否已经包含,然后相应地下载。true
,则自动聚焦编辑器。默认为 false
。true
,则自动保存文本。默认为 false
。10000
(10秒)。autosave.delay
或 10000
(10秒)。locale: en-US, format: hour:minute
。{ delay: 300 }
,它将每300毫秒检查一次编辑器是否可见,如果是,则调用CodeMirror的 refresh()
。**
或 __
。默认为 **
。```
或 ~~~
。默认为 ```
。*
或 _
。默认为 *
。*
、-
或 +
。默认为 *
。textarea
元素的DOM元素。默认为页面上的第一个 textarea
元素。true
,强制在EasyMDE中做的文本更改立即存储在原始文本区域中。默认为 false
。false
,则使用空格而不是制表符进行缩进。默认为 true
。false
,图片预览仅会出现在单独行上的 图片。
括号之间的解析字符串作为参数,并返回一个字符串,作为预览中 <img>
标签的 src
属性。允许在前端动态预览图片,无需上传到服务器,允许将图片复制粘贴到编辑器中并进行预览。["[", "](http://)"]
。
true
,在编辑器中启用行号。false
,禁用换行。默认为 true
。"500px"
。默认为 "300px"
。minHeight
选项将被忽略。应该是一个包含有效CSS值的字符串,如 "500px"
。默认为 undefined
。true
,否则为 false
。true
,将在 #
后没有空格的情况下渲染标题。默认为 false
。false
,将不处理GFM删除线语法。默认为 true
。true
,让下划线作为分隔单词的分隔符。默认为 false
。false
,将替换默认Markdown模式返回的CSS类。否则,自定义模式返回的类将与默认模式返回的类组合。默认为 true
。"editor-preview"
。true
,会出现一个JS警告窗口,要求输入链接或图片URL。默认为 false
。URL of the image:
。URL for the link:
。true
,启用图片上传功能,可以通过拖放、复制粘贴和点击上传图片图标打开的浏览文件窗口触发。默认为 false
。1024 * 1024 * 2
(2 MB)。image/png, image/jpeg
。imageMaxSize
、imageAccept
、imageUploadEndpoint
和 imageCSRFToken
选项失效。
onSuccess
和 onError
回调函数作为参数。onSuccess(imageUrl: string)
和 onError(errorMessage: string)
{"data": {"filePath": "<filePath>"}}
,其中 filePath 是图片的路径(如果 imagePathAbsolute
设置为true则为绝对路径,否则为相对路径);{"error": "<errorCode>"}
,其中 errorCode 可以是 noFileGiven
(HTTP 400 Bad Request)、typeNotAllowed
(HTTP 415 Unsupported Media Type)、fileTooLarge
(HTTP 413 Payload Too Large)或 importError
(参见下面的 errorMessages)。如果 errorCode 不是 errorMessages 之一,它将原样提示给用户。这允许服务器端错误消息。
无默认值。true
,将把 imageUploadFunction
中的 imageUrl
和 imageUploadEndpoint
返回的 filePath 视为绝对路径,而不是相对路径,即不会在前面加上 window.location.origin
。imageCSRFToken
有值时应用,默认为 csrfmiddlewaretoken
。true
,通过头部传递CSRF令牌。默认为 false
,通过请求体传递CSRF。#image_name#
、#image_size#
和 #image_max_size#
将被它们各自的值替换,可用于自定义或国际化:
uploadImage
设置为 true
,初始显示的状态消息。默认为 Attach files by drag and dropping or pasting from clipboard.
。Drop image to upload it.
。Uploading images #images_names#
。Uploading #file_name#: #progress#%
。Uploaded #image_name#
。 B, KB, MB
(例如:218 KB
)。如果你喜欢不带空格,可以使用 B,KB,MB
(218KB
)。errorCallback
选项显示给用户的错误,其中 #image_name#
、#image_size#
和 #image_max_size#
将被它们各自的值替换,可用于自定义或国际化:
You must select a file.
。imageAccept
列表不匹配,或服务器返回此错误代码。默认为"不允许此图片类型"。imageMaxSize
,或服务器返回此错误代码。默认为"图片#image_name#太大(#image_size#)。\n最大文件大小为#image_max_size#"。(errorMessage) => alert(errorMessage)
。true
,将使用highlight.js进行高亮。默认为false
。要使用此功能,您必须在页面中包含highlight.js或通过hljs
选项传入。例如,包含脚本和CSS文件如下:<br><script src="https://cdn.jsdelivr.net/highlight.js/latest/highlight.min.js"></script>
<br><link rel="stylesheet" href="https://cdn.jsdelivr.net/highlight.js/latest/styles/github.min.css">
window.hljs
),可以在此提供一个实例。默认为undefined
。renderingConfig
选项将优先生效。false
,禁用解析GitHub风格Markdown(GFM)单行换行。默认为true
。false
,禁用拼写检查器。默认为true
。可选择传入符合CodeMirrorSpellChecker的函数。textarea
或contenteditable
。桌面默认为textarea
,移动设备默认为contenteditable
。contenteditable
选项对启用原生拼写检查是必要的。false
,禁用原生拼写检查器。默认为true
。false
,允许并排编辑而不进入全屏模式。默认为true
。false
,隐藏状态栏。默认为内置状态栏项目数组。
false
,从选中行移除CodeMirror-selectedtext
类。默认为true
。false
,禁用并排模式下的滚动同步。默认为true
。2
。easymde
。false
,隐藏工具栏。默认为图标数组。false
,禁用工具栏按钮提示。默认为true
。"mde"
时,加粗按钮的类变为"mde-bold"
。rtl
或ltr
。更改文本方向以支持从右到左的语言。默认为ltr
。大多数选项展示了非默认行为:
const editor = new EasyMDE({ autofocus: true, autosave: { enabled: true, uniqueId: "MyUniqueID", delay: 1000, submit_delay: 5000, timeFormat: { locale: 'en-US', format: { year: 'numeric', month: 'long', day: '2-digit', hour: '2-digit', minute: '2-digit', }, }, text: "自动保存: " }, blockStyles: { bold: "__", italic: "_", }, unorderedListStyle: "-", element: document.getElementById("MyID"), forceSync: true, hideIcons: ["guide", "heading"], indentWithTabs: false, initialValue: "你好,世界!", insertTexts: { horizontalRule: ["", "\n\n-----\n\n"], image: [""], link: ["[", "](https://)"], table: ["", "\n\n| 第1列 | 第2列 | 第3列 |\n| -------- | -------- | -------- |\n| 文本 | 文本 | 文本 |\n\n"], }, lineWrapping: false, minHeight: "500px", parsingConfig: { allowAtxHeaderWithoutSpace: true, strikethrough: false, underscoresBreakWords: true, }, placeholder: "在此输入...", previewClass: "my-custom-styling", previewClass: ["my-custom-styling", "more-custom-styling"], previewRender: (plainText) => customMarkdownParser(plainText), // 返回自定义解析器的HTML previewRender: (plainText, preview) => { // 异步方法 setTimeout(() => { preview.innerHTML = customMarkdownParser(plainText); }, 250); // 如果返回null,预览的innerHTML将不会被覆盖。 // 如果您通过vdom diffing控制预览节点的内容,这很有用。 // return null; return "加载中..."; }, promptURLs: true, promptTexts: { image: "自定义URL提示:", link: "自定义URL提示:", }, renderingConfig: { singleLineBreaks: false, codeSyntaxHighlighting: true, sanitizerFunction: (renderedHTML) => { // 使用DOMPurify并只允许<b>标签 return DOMPurify.sanitize(renderedHTML, {ALLOWED_TAGS: ['b']}) }, }, shortcuts: { drawTable: "Cmd-Alt-T" }, showIcons: ["code", "table"], spellChecker: false, status: false, status: ["autosave", "lines", "words", "cursor"], // 可选用法 status: ["autosave", "lines", "words", "cursor", { className: "keystrokes", defaultValue: (el) => { el.setAttribute('data-keystrokes', 0); }, onUpdate: (el) => { const keystrokes = Number(el.getAttribute('data-keystrokes')) + 1; el.innerHTML = `${keystrokes} 次按键`; el.setAttribute('data-keystrokes', keystrokes); }, }], // 另一种可选用法 ,带有统计按键次数的自定义状态栏项 styleSelectedText: false, sideBySideFullscreen: false, syncSideBySidePreviewScroll: false, tabSize: 4, toolbar: false, toolbarTips: false, toolbarButtonClassPrefix: "mde", });
以下是内置的工具栏图标(默认只启用了其中的一部分),你可以随意重新组织它们。"名称"是在JavaScript中引用的图标名称。"动作"可以是函数或要打开的URL。"类"是赋予图标的类。"工具提示"是通过title=""
属性显示的小提示。请注意,快捷键提示会自动添加,并反映指定动作的键绑定(例如,当action
设置为bold
且tooltip
设置为粗体
时,用户最终看到的文本将是"粗体 (Ctrl-B)")。
此外,你可以通过在工具栏数组中添加"|"
来在任意图标之间添加分隔符。
名称 | 动作 | 工具提示<br>类 |
---|---|---|
bold | toggleBold | 粗体<br>fa fa-bold |
italic | toggleItalic | 斜体<br>fa fa-italic |
strikethrough | toggleStrikethrough | 删除线<br>fa fa-strikethrough |
heading | toggleHeadingSmaller | 标题<br>fa fa-header |
heading-smaller | toggleHeadingSmaller | 较小标题<br>fa fa-header |
heading-bigger | toggleHeadingBigger | 较大标题<br>fa fa-lg fa-header |
heading-1 | toggleHeading1 | 大标题<br>fa fa-header header-1 |
heading-2 | toggleHeading2 | 中标题<br>fa fa-header header-2 |
heading-3 | toggleHeading3 | 小标题<br>fa fa-header header-3 |
code | toggleCodeBlock | 代码<br>fa fa-code |
quote | toggleBlockquote | 引用<br>fa fa-quote-left |
unordered-list | toggleUnorderedList | 无序列表<br>fa fa-list-ul |
ordered-list | toggleOrderedList | 有序列表<br>fa fa-list-ol |
clean-block | cleanBlock | 清除格式<br>fa fa-eraser |
link | drawLink | 创建链接<br>fa fa-link |
image | drawImage | 插入图片<br>fa fa-picture-o |
upload-image | drawUploadedImage | 打开文件浏览窗口<br>fa fa-image |
table | drawTable | 插入表格<br>fa fa-table |
horizontal-rule | drawHorizontalRule | 插入水平线<br>fa fa-minus |
preview | togglePreview | 切换预览<br>fa fa-eye no-disable |
side-by-side | toggleSideBySide | 切换并排显示<br>fa fa-columns no-disable no-mobile |
fullscreen | toggleFullScreen | 切换全屏<br>fa fa-arrows-alt no-disable no-mobile |
guide | 此链接 | Markdown指南<br>fa fa-question-circle |
undo | undo | 撤销<br>fa fa-undo |
redo | redo | 重做<br>fa fa-redo |
使用toolbar
选项自定义工具栏。
仅调整现有按钮的顺序:
const easyMDE = new EasyMDE({ toolbar: ["bold", "italic", "heading", "|", "quote"] });
所有信息和/或添加你自己的图标或文本
const easyMDE = new EasyMDE({ toolbar: [ { name: "bold", action: EasyMDE.toggleBold, className: "fa fa-bold", title: "粗体", }, "italic", // 预制按钮的快捷方式 { name: "custom", action: (editor) => { // 添加你自己的代码 }, className: "fa fa-star", text: "已加星标", title: "自定义按钮", attributes: { // 用于自定义属性 id: "custom-id", "data-value": "custom value" // HTML5 data-* 属性需要用引号("")括起来,因为其名称中包含连字符(-)。 } }, "|" // 分隔符 // [, ...] ] });
将一些按钮放在下拉菜单中
const easyMDE = new EasyMDE({ toolbar: [{ name: "heading", action: EasyMDE.toggleHeadingSmaller, className: "fa fa-header", title: "标题", }, "|", { name: "others", className: "fa fa-blind", title: "其他按钮", children: [ { name: "image", action: EasyMDE.drawImage, className: "fa fa-picture-o", title: "图片", }, { name: "quote", action: EasyMDE.toggleBlockquote, className: "fa fa-percent", title: "引用", }, { name: "link", action: EasyMDE.drawLink, className: "fa fa-link", title: "链接", } ] }, // [, ...] ] });
EasyMDE自带一系列预定义的键盘快捷键,但可以通过配置选项进行更改。以下是默认快捷键列表:
快捷键 (Windows / Linux) | 快捷键 (macOS) | 操作 |
---|---|---|
<kbd>Ctrl</kbd>-<kbd>'</kbd> | <kbd>Cmd</kbd>-<kbd>'</kbd> | "切换引用块" |
<kbd>Ctrl</kbd>-<kbd>B</kbd> | <kbd>Cmd</kbd>-<kbd>B</kbd> | "切换粗体" |
<kbd>Ctrl</kbd>-<kbd>E</kbd> | <kbd>Cmd</kbd>-<kbd>E</kbd> | "清除块" |
<kbd>Ctrl</kbd>-<kbd>H</kbd> | <kbd>Cmd</kbd>-<kbd>H</kbd> | "减小标题级别" |
<kbd>Ctrl</kbd>-<kbd>I</kbd> | <kbd>Cmd</kbd>-<kbd>I</kbd> | "切换斜体" |
<kbd>Ctrl</kbd>-<kbd>K</kbd> | <kbd>Cmd</kbd>-<kbd>K</kbd> | "插入链接" |
<kbd>Ctrl</kbd>-<kbd>L</kbd> | <kbd>Cmd</kbd>-<kbd>L</kbd> | "切换无序列表" |
<kbd>Ctrl</kbd>-<kbd>P</kbd> | <kbd>Cmd</kbd>-<kbd>P</kbd> | "切换预览" |
<kbd>Ctrl</kbd>-<kbd>Alt</kbd>-<kbd>C</kbd> | <kbd>Cmd</kbd>-<kbd>Alt</kbd>-<kbd>C</kbd> | "切换代码块" |
<kbd>Ctrl</kbd>-<kbd>Alt</kbd>-<kbd>I</kbd> | <kbd>Cmd</kbd>-<kbd>Alt</kbd>-<kbd>I</kbd> | "插入图片" |
<kbd>Ctrl</kbd>-<kbd>Alt</kbd>-<kbd>L</kbd> | <kbd>Cmd</kbd>-<kbd>Alt</kbd>-<kbd>L</kbd> | "切换有序列表" |
<kbd>Shift</kbd>-<kbd>Ctrl</kbd>-<kbd>H</kbd> | <kbd>Shift</kbd>-<kbd>Cmd</kbd>-<kbd>H</kbd> | "增大标题级别" |
<kbd>F9</kbd> | <kbd>F9</kbd> | "切换并排视图" |
<kbd>F11</kbd> | <kbd>F11</kbd> | "切换全屏" |
<kbd>Ctrl</kbd>-<kbd>Alt</kbd>-<kbd>1</kbd> | <kbd>Cmd</kbd>-<kbd>Alt</kbd>-<kbd>1</kbd> | "切换一级标题" |
<kbd>Ctrl</kbd>-<kbd>Alt</kbd>-<kbd>2</kbd> | <kbd>Cmd</kbd>-<kbd>Alt</kbd>-<kbd>2</kbd> | "切换二级标题" |
<kbd>Ctrl</kbd>-<kbd>Alt</kbd>-<kbd>3</kbd> | <kbd>Cmd</kbd>-<kbd>Alt</kbd>-<kbd>3</kbd> | "切换三级标题" |
<kbd>Ctrl</kbd>-<kbd>Alt</kbd>-<kbd>4</kbd> | <kbd>Cmd</kbd>-<kbd>Alt</kbd>-<kbd>4</kbd> | "切换四级标题" |
<kbd>Ctrl</kbd>-<kbd>Alt</kbd>-<kbd>5</kbd> | <kbd>Cmd</kbd>-<kbd>Alt</kbd>-<kbd>5</kbd> | "切换五级标题" |
<kbd>Ctrl</kbd>-<kbd>Alt</kbd>-<kbd>6</kbd> | <kbd>Cmd</kbd>-<kbd>Alt</kbd>-<kbd>6</kbd> | "切换六级标题" |
以下是如何更改一些快捷键,同时保留其他快捷键不变的方法:
const editor = new EasyMDE({ shortcuts: { "toggleOrderedList": "Ctrl-Alt-K", // 修改toggleOrderedList的快捷键 "toggleCodeBlock": null, // 解绑Ctrl-Alt-C "drawTable": "Cmd-Alt-T", // 将Cmd-Alt-T绑定到drawTable操作,该操作默认没有快捷键 } });
快捷键会自动在不同平台之间转换。如果你将快捷键定义为"Cmd-B",在PC上会自动变为"Ctrl-B"。相反,定义为"Ctrl-B"的快捷键在Mac用户那里会变成"Cmd-B"。
可以绑定的操作列表与工具栏按钮可用的内置操作列表相同。
你可以捕捉以下事件列表:https://codemirror.net/doc/manual.html#events
const easyMDE = new EasyMDE(); easyMDE.codemirror.on("change", () => { console.log(easyMDE.value()); });
你可以通过调用toTextArea
方法恢复到初始的文本区域。注意,这会清除与之关联的自动保存(如果启用的话)。文本区域将保留被销毁的EasyMDE实例中的任何文本。
const easyMDE = new EasyMDE(); // ... easyMDE.toTextArea(); easyMDE = null;
如果你需要移除注册的事件监听器(当不再需要编辑器时),调用easyMDE.cleanup()
。
以下自解释的方法在使用EasyMDE开发时可能会有用。
const easyMDE = new EasyMDE(); easyMDE.isPreviewActive(); // 返回布尔值 easyMDE.isSideBySideActive(); // 返回布尔值 easyMDE.isFullscreenActive(); // 返回布尔值 easyMDE.clearAutosavedValue(); // 无返回值
EasyMDE是SimpleMDE的延续。
SimpleMDE最初是对lepture的Editor项目的改进,但现在已经有了自己的特色。它与CodeMirror捆绑在一起,并依赖于Font Awesome。
CodeMirror是项目的核心,它在编写过程中解析大部分Markdown语法。这允许我们为正在编写的Markdown添加样式。此外,工具栏和状态栏分别被添加到顶部和底部。预览由Marked使用GitHub Flavored Markdown (GFM)渲染。
我最初创建这个分支是为了在SimpleMDE中实现FontAwesome 5的兼容性。完成后,我提交了一个拉取请求,但还没有被接受。这个情况,加上项目自2017年5月以来一直处于不活跃状态,促使我做出更多改变并尝试为项目注入新的生命力。
变更包括:
https://
我的目标是继续开发这个项目,改进它并保持其活跃性。
你可能想要编辑这个库以适应你的需求。这可以通过以下几个快速步骤完成:
gulp
命令,这将生成文件:dist/easymde.min.css
和dist/easymde.min.js
;想要为EasyMDE做出贡献吗?谢谢你!我们为你准备了一份贡献指南!
本项目基于MIT许可证发布。
AI Excel全自动制表工具
AEE 在线 AI 全自动 Excel 编辑器,提供智能录入、自动公式、数据整理、图表生成等功能,高效处理 Excel 任务,提升办公效率。支持自动高亮数据、批量计算、不规则数据录入,适用于企业、教育、金融等多场景。
基于 UI-TARS 视觉语言模型的桌面应用,可通过自然语言控制计算机进行多模态操作。
UI-TARS-desktop 是一款功能强大的桌面应用,基于 UI-TARS(视觉语言模型)构建。它具备自然语言控制、截图与视觉识别、精确的鼠标键盘控制等功能,支持跨平台使用(Windows/MacOS),能提供实时反馈和状态显示,且数据完全本地处理,保障隐私安全。该应用集成了多种大语言模型和搜索方式,还可进行文件系统操作。适用于需要智能交互和自动化任务的场景,如信息检索、文件管理等。其提供了详细的文档,包括快速启动、部署、贡献指南和 SDK 使用说明等,方便开发者使用和扩展。
开源且先进的大规模视频生成模型项目
Wan2.1 是一个开源且先进的大规模视频生成模型项目,支持文本到图像、文本到视频、图像到视频等多种生成任务。它具备丰富的配置选项,可调整分辨率、扩散步数等参数,还能对提示词进行增强。使用了多种先进技术和工具,在视频和图像生成领域具有广泛应用前景,适合研究人员和开发者使用。
全流程 AI 驱动的数据可视化工具,助力用户轻松创作高颜值图表
爱图表(aitubiao.com)就是AI图表,是由镝数科技推出的一款创新型智能数据可视化平台,专注于为用户提供便捷的图表生成、数据分析和报告撰写服务。爱图表是中国首个在图表场景接入DeepSeek的产品。通过接入前沿的DeepSeek系列AI模型,爱图表结合强大的数据处理能力与智能化功能,致力于帮助职场人士高效处理和表达数据,提升工作效率和报告质量。
一款强大的视觉语言模型,支持图像和视频输入
Qwen2.5-VL 是一款强大的视觉语言模型,支持图像和视频输入,可用于多种场景,如商品特点总结、图像文字识别等。项目提供了 OpenAI API 服务、Web UI 示例等部署方式,还包含了视觉处理工具,有助于开发者快速集成和使用,提升工作效率。
HunyuanVideo 是一个可基于文本生成高质量图像和视频的项目。
HunyuanVideo 是一个专注于文本到图像及视频生成的项目。它具备强大的视频生成能力,支持多种分辨率和视频长度选择,能根据用户输入的文本生成逼真的图像和视频。使用先进的技术架构和算法,可灵活调整生成参数,满足不同场景的需求,是 文本生成图像视频领域的优质工具。
一个基于 Gradio 构建的 WebUI,支持与浏览器智能体进行便捷交互。
WebUI for Browser Use 是一个强大的项目,它集成了多种大型语言模型,支持自定义浏览器使用,具备持久化浏览器会话等功能。用户可以通过简洁友好的界面轻松控制浏览器智能体完成各类任务,无论是数据提取、网页导航还是表单填写等操作都能高效实现,有利于提高工作效率和获取信息的便捷性。该项目适合开发者、研究人员以及需要自动化浏览器操作的人群使用,在 SEO 优化方面,其关键词涵盖浏览器使用、WebUI、大型语言模型集成等,有助于提高网页在搜索引擎中的曝光度。
基于 ESP32 的小智 AI 开发项目,支持多种网络连接与协议,实现语音交互等功能。
xiaozhi-esp32 是一个极具创新性的基于 ESP32 的开发项目,专注于人工智能语音交互领域。项目涵盖了丰富的功能,如网络连接、OTA 升级、设备激活等,同时支持多种语言。无论是开发爱好者还是专业开发者,都能借助该项目快速搭建起高效的 AI 语音交互系统,为智能设备开发提供强大助力。
一个用于 OCR 的项目,支持多种模型和服务器进行 PDF 到 Markdown 的转换,并提供测试和报告功能。
olmocr 是一个专注于光学字符识别(OCR)的 Python 项目,由 Allen Institute for Artificial Intelligence 开发。它支持多种模型和服务器,如 vllm、sglang、OpenAI 等,可将 PDF 文件的页面转换为 Markdown 格式。项目还提供了测试框架和 HTML 报告生成功能,方便用户对 OCR 结果进行评估和分析。适用于科研、文档处理等领域,有助于提高工作效率和准确性。
飞书多维表格 ×DeepSeek R1 满血版
飞书多维表格联合 DeepSeek R1 模型,提供 AI 自动化解决方案,支持批量写作、数据分析、跨模态处理等功能,适用于电商、短视频、影视创作等场景,提升企业生产力与创作效率。关键词:飞书多维表格、DeepSeek R1、AI 自动化、批量处理、企业协同工具。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号