UniDoc说明中心下载 .udoc
UNIDOC / KNOWLEDGE IN MOTION

公众号排版与通用 Markdown 导出

从理解,到动手实现。步骤、协议与可复制的示例,都在这份文档中。

更新日期:2026-09-19。平台专用选项仅保留 公众号排版;Markdown 统一生成静态文章。本说明由真实 .udoc 无损导出,顶部可下载原生源文件。

公众号用 HTML 还是 Markdown

公众号正文使用 HTML 富文本。 在 UniDoc 选择“复制公众号排版”,再粘贴到公众号后台的正文编辑区。剪贴板同时提供 text/htmltext/plain,正文包含内联字号、行距、颜色、间距、代码和表格样式。

Markdown 是文章源格式,不是本功能向公众号直接上传的格式。“下载排版 HTML”用于保存、预览和复制,不等于公众号后台支持直接上传任意 .html 文件。本版本不调用微信素材接口、不创建草稿、不自动发布文章。

这种 HTML 富文本剪贴板方式可以在 doocs/md 复制实现 中核查;它的 导出准备流程 包括等待预览、整理内容与样式内联。UniDoc 本次未引入该项目源码或主题。

公众号排版操作

  1. 打开文档,让图表、图片和视频画面完成加载。
  2. 选择 文件 → 导出 → 公众号排版。入口会提示:动态内容转静态图片,图片公开托管到当前用户的 R2。
  3. 有图片或动态资源时,需要登录 OmniDoc 并具有云文件写入、读取和分享权限。文件仍存放在用户自己的 OmniDoc/R2 中。
  4. 准备完成后,查看文章预览和“资源与转换说明”。正文保持文本,动画、行情和沙盒画面变成图片。
  5. 点击 复制公众号排版,粘贴到公众号后台正文。剪贴板权限被拒绝时,可使用 下载排版 HTML 保存后手动复制正文。
  6. 在公众号后台确认图片转存成功,保存草稿,再检查手机预览和链接,然后按正常流程发布。

平台可能清洗 HTML、调整样式、限制外链或转存图片。本地预览不能替代公众号后台保存后的验收;当前未完成真实公众号账户的粘贴、草稿重开与手机预览验收。

通用 Markdown 操作

选择 文件 → 导出 → Markdown,准备完成后点击 下载 Markdown。原有 Markdown 快捷入口也使用同一流程,不再区分平台专用 Markdown。

内容文章输出
标题、段落、加粗、引用、列表、代码保留可编辑的 Markdown 语义
本地、内嵌、远程图片读取真实字节,转静态 PNG,托管到当前用户的 R2
Canvas、动画、行情、沙盒 HTML采集当前画面,生成高清 PNG,附静态快照时间
自由 HTML 文本框保留可读取的画面,按高度拆成连续图片,避免原来被遗漏
数学公式渲染为 PNG,保留公式源作为图片说明
简单表格转为 Markdown 表格
合并单元格表格转静态图,避免合并跨度被悄悄丢弃
已加载且允许截图的视频保留当前帧,文章中不能继续播放
浮动文本框按页码和位置排列,接在正文后,不保留纸张坐标

普通图片最大宽度为 2400 像素;快照最高 2 倍比例、宽度最多 2400 像素。快照上限为宽 4096、高 16000、总面积 1800 万 CSS 像素,超限会要求拆分。长画面按高度生成连续图片,不直接截断尾部。

Markdown 不再依赖当前浏览器临时地址或登录 Cookie。它适合支持 Markdown 与 HTTPS 图片的平台,不能保证任何平台都接受所有图片外链、表格语法或排版。禁止外链图片的平台仍需转存图片。本版本不提供其他平台专用选项。

R2 图片地址与有效期

上传沿用现有 OmniDoc 用户文件流程:申请上传 → 浏览器直接 PUT 到 R2 → 服务端确认 → 所有者创建单文件公开分享。不会另建公共存储桶,也不会公开整个用户目录。

Markdown 中的地址形如:

https://app.unidoc.top/cloud/storage/share/asset/<公开分享令牌>.png

这是单文件公开访问凭证,持地址者可读取该静态图片。访问时,UniDoc 校验令牌并向 OmniDoc 申请新的下载票据,再跳转到受信的 R2 地址。文件字节仍由 R2 提供;短期签名不会直接写进 Markdown。

它是可持续解析的地址,并非永久不可撤销。撤销分享、删除源文件或源服务不可用时,图片会失效。首次访问仍需经过 OmniDoc 票据服务,其耗时和可用性影响加载。

相同图片按内容哈希去重。本设备记录已确认上传的对象;分享失败后重试可复用对象,避免重复 PUT。重新使用分享时仍向服务端核对权限和有效性。切换账户或文档会停止导出,已完成的云文件不会自动删除。

管理与撤销

选择 文件 → 导出 → 管理导出图片,查看本设备当前账户的图片记录,点击 撤销公开地址

撤销影响所有引用该地址的文章,不删除原 .udoc 或 R2 源图片。目标平台已转存的副本不受影响。本地记录清除或换设备后,请在 OmniDoc 云文件中管理对象;此窗口不是完整的跨设备云文件清单。

出错处理

  • 要求登录或授权:完成 OmniDoc 登录和云文件权限授权后重试。纯文字文章不需要图片上传。
  • 图片未加载、失效或读取被拒:修复原图片,或将图片文件嵌入文档后重试;不再导出“本地媒体未随导出”的占位文字。
  • 外链网页、嵌套 iframe、Shadow DOM:浏览器隔离可能使画面无法读取,请先提供静态图。不会为截图解除沙盒隔离。
  • 视频无画面或跨域画布受保护:先加载视频,或提供静态封面。无法截图时明确失败,不用黑图冒充成功。
  • 文件附件:先用云内容分享生成附件链接,再写入正文;不把任意附件伪装成图片。
  • 图表还在等待数据:先等待加载完成再导出。快照仅记录当前画面,数值不再实时变化。
  • 部分图片已上传,但后续失败:到管理窗口查看记录,按需重试或撤销已公开地址。

浏览器 API 与纯 HTTP 的边界

浏览器 window.unidoc2mdwindow.UniDocConverters.unidoc2md 使用同一静态文章流程。输入 .udoc 时重建隔离 HTML 画面,不把它替换成当前编辑文档。图片发布需要当前用户授权;重建画面属于初始运行状态,不恢复此前未保存的游戏进度。

const markdown = await window.UniDocConverters.unidoc2md(await file.arrayBuffer());

POST /convert/unidoc2md 是无浏览器画面的字节转换服务:纯文字和已经准备好的静态图引用可以转换;需要截图或托管图片时返回 422 portable_media_requires_browser,请改用上述浏览器接口。该端点不再输出失效的本地图片引用或遗漏动态块。它尚不具备任意网页截图与用户云托管的全自动服务端转换能力。

更多格式、鉴权和返回值见 公共接口说明。原生分享见 云内容分享

空白文档入口

空白入口 打开完整编辑器和一张空白页:

https://app.unidoc.top/?blank=1
https://app.unidoc.top/?blank=1&view=flow

blank=1 是精确开关。普通入口继续打开灵感实验室。登录前草稿、分享文档和明确指定的导入或模板仍优先;空白入口不自动恢复上次 Vault。直接刷新会新建空白页,请先保存编辑内容。组合规则见 内嵌接入指南