> ## Documentation Index
> Fetch the complete documentation index at: https://docs.somark.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 本地文件转在线文档

> 使用 SoMark 将 PDF、图片、Word、PPT、Excel等文件发布为飞书、钉钉或 Notion 中的可编辑文档、电子表格或结构化数据表。

本功能以Skill形式实现（即pdf- online skill），它适合希望在 Agent 对话中完成“文件解析 → 办公平台发布”完整流程的用户。你只需提供文件、目标平台和输出类型，Agent 会调用 SoMark 解析内容，再创建可编辑的飞书、钉钉或 Notion 内容。

它可以将扫描件、合同、论文、教材或报告等本地文稿转为在线文档，将复杂表格转为电子表格，或将名单、计划表和进度表转为可筛选的结构化记录。需要分发到多个平台时，同一源文件在一次任务中只解析一次。

<Note>
  PDF Online 会根据目标平台的原生能力生成可编辑内容。发布后可直接在目标平台继续编辑，并建议对关键数据进行常规核对。
</Note>

## 能生成什么

PDF Online 可以将同一份解析结果发布为文档、电子表格或结构化记录。先按后续工作方式选择内容形态，再选择目标平台：

| 内容形态  | 适用任务                  | 飞书     | 钉钉       | Notion        |
| ----- | --------------------- | ------ | -------- | ------------- |
| 文档或页面 | 阅读、编辑和分享长文            | 飞书云文档  | 钉钉在线文档   | Notion 页面     |
| 电子表格  | 核对版式、补录和归档表格          | 飞书电子表格 | 钉钉电子表格   | 页面中的普通可编辑表格   |
| 结构化记录 | 筛选、排序、状态管理、日历、甘特图或工作流 | 飞书多维表格 | 钉钉 AI 表格 | 新建 Notion 数据库 |

如果没有指定目标类型，飞书默认创建云文档，Notion 默认创建页面。钉钉会根据叙述内容、网格表格或结构化记录意图选择路线；如果不同路线会明显影响保真度，Agent 会先询问。原文中出现表格，并不会自动把 Notion 页面改成数据库。

确定目标后，Skill 会将 SoMark 识别出的内容映射为各平台的原生结构，而非仅粘贴为纯文本：

### 飞书

**云文档**支持标题、正文、无序/有序列表、引用、待办、代码、表格、图片，以及行内和块级公式。选择题和脚注会分别适配为列表和引用。

**电子表格**支持工作表、文本单元格、合并单元格、边框、字体/对齐/换行等单元格样式、行列尺寸和嵌入图片。

**多维表格**支持文本、数值和日期字段，以及对应记录。

### 钉钉

**在线文档**支持标题、正文、列表、代码、图片、表格和公式；表格单元格可使用富文本、图片、公式和上标。选择题会适配为列表，脚注会保留为带编号的可编辑尾注。

**电子表格**支持工作表、文本单元格、合并单元格、样式、行列尺寸和图片。

**AI 表格**支持文本、日期、进度、数值（含货币和评分）和单选字段，以及对应记录；仅在已提供有效 `userId` 和 `corpId` 时创建人员字段。

### Notion

**页面**支持页面标题、标题、正文、列表、目录、表格、图片、代码块和公式块。选择题会适配为项目符号列表，脚注会适配为引用块；印章和化学结构图会作为图片，表格内图片会改为链接并在表格后单独插入；当前无法通过 API 创建合并单元格。

**数据库**支持标题、富文本、数值、日期和单选字段，以及对应记录。

## 工作原理

```text theme={null}
提供原始文件
→ 选择平台和目标类型
→ SoMark 智能解析
→ 根据平台能力转换
→ 创建目标并返回链接
```

一次任务中的同一个源文件最多解析一次。多个平台会共享同一组 Markdown 和 JSON；某个平台发布失败后，恢复也会复用这组结果，不会再次消耗解析额度。

只有你明确提供一组完全匹配的 SoMark Markdown 和 JSON 时，Skill 才会跳过解析。它不会搜索同目录、同名文件或历史结果。如果你同时提供原始文件和这组结果，Markdown 和 JSON 是内容与结构依据，原始文件只用于标明来源。

## 开始前准备

<Steps>
  <Step title="安装两个 Skill">
    `pdf-online` 负责选择目标并发布内容；处理原始文件时，它会调用单独安装的官方 `somark-document-parser`。

    <Tabs>
      <Tab title="在 Agent 中安装">
        ```text theme={null}
        请从 https://github.com/SoMarkAI/skills 安装 pdf-online Skill，
        并安装官方 somark-document-parser Skill。
        ```
      </Tab>

      <Tab title="使用命令安装">
        ```bash theme={null}
        npx skills add SoMarkAI/skills --skill pdf-online
        npx skills add SoMarkAI/skills --skill somark-document-parser
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="配置 SoMark API 密钥">
    国内版用户前往 [somark.cn](https://somark.cn) 获取 API 密钥；海外版用户前往 [somark.ai](https://somark.ai/Studio/apikey) 获取 API 密钥。按 Agent 的说明配置 `SOMARK_API_KEY`。

    SoMark 解析会消耗解析额度；直接使用明确指定的现有结果不会重新解析。
  </Step>

  <Step title="安装平台依赖并完成授权">
    三个平台适配器都需要可运行的 Python 3 环境。根据目标平台准备以下依赖：

    | 目标平台   | 依赖和授权                                               |
    | ------ | --------------------------------------------------- |
    | 飞书     | 安装飞书 `lark-cli`，完成用户授权，并授予云文档、电子表格或多维表格所需权限。        |
    | 钉钉     | 安装 DWS CLI，配置要使用的账号 Profile，并完成对应工作空间的授权。           |
    | Notion | 在 Agent 中连接官方 Notion MCP/连接器，授予内容创建权限；无需额外安装平台 CLI。 |

    Notion 还需要一个允许当前连接创建内容的父页面链接。
  </Step>

  <Step title="准备输入和目标">
    原始输入支持 PDF、常见图片、Word 和 PPT。准备好文件路径、目标平台、目标类型，以及可选的目标位置链接。不要在提示词中粘贴 API 密钥、访问令牌或企业凭据。
  </Step>
</Steps>

## 基本用法

Skill 显示名称是 **PDF Online**，Skill 名称是 `pdf-online`。在提示词中显式写出 `$pdf-online`，并说明输入、平台和目标类型，触发会更稳定。

<Tabs>
  <Tab title="飞书">
    ```text theme={null}
    使用 $pdf-online 解析这份合同，并创建一份可编辑的飞书云文档。
    ```

    ```text theme={null}
    使用 $pdf-online 将这份带有复杂表格的 PDF 转成飞书电子表格，
    保留合并单元格、边框、列宽和表格图片。
    ```

    ```text theme={null}
    使用 $pdf-online 解析这份项目计划表，并创建一个新的飞书多维表格，
    把日期和数值转换为合适的字段类型。
    ```
  </Tab>

  <Tab title="钉钉">
    ```text theme={null}
    使用 $pdf-online 将这份扫描 PDF 转成可编辑的钉钉在线文档。
    ```

    ```text theme={null}
    使用 $pdf-online 把这份表格型 PDF 发布为钉钉电子表格，
    先返回可预览内容，再继续补充样式、合并单元格和图片。
    ```

    ```text theme={null}
    使用 $pdf-online 解析这份进度表，并创建钉钉 AI 表格，
    保留日期、进度和分类字段。
    ```
  </Tab>

  <Tab title="Notion">
    ```text theme={null}
    使用 $pdf-online 将这份论文转换成 Notion 页面，
    并创建到这个父页面下：<Notion 父页面链接>。
    ```

    ```text theme={null}
    使用 $pdf-online 从这份名单中创建一个新的 Notion 数据库，
    父页面是：<Notion 父页面链接>。
    ```
  </Tab>
</Tabs>

### 发布到多个平台

```text theme={null}
使用 $pdf-online 只解析这份 PDF 一次，然后分别发布为飞书云文档、
钉钉在线文档和 Notion 页面。
Notion 父页面是：<Notion 父页面链接>。
```

## 能力边界

* Skill 不会改写 OCR 正文、猜测缺失内容，或自动修正竖排文字、对齐和损坏公式。
* 表格转换以 SoMark 已识别的结构为准；它不会再次 OCR 或目视推断表头。
* 电子表格中的图片、合并范围和样式会分步骤处理；单个元素处理异常不会影响已写入的可用内容。
* 结构化记录目标需要明确表头。空表头或重复表头会安全重命名并报告映射；多个表格不会由 Agent 猜选。
* 创建或后处理失败时，Skill 会复用当前解析结果和已创建目标，不会重新解析或随意创建替代目标。
* 多平台任务彼此独立：一个平台失败不会撤销其他平台的成功结果。
