<!-- title: 出纸赛道横评：谁把字排成PDF -->

# 出纸赛道横评：谁把字排成PDF——四条产线首次同框

## 概述

本期是同赛道对比横评，选中的赛道是「出纸」——把模型里的内容变成一份能落纸的 PDF 成品。这条线九天前在《办公数据层横评》里还只是六个工位中的一个，今天早上已经凑齐四条工程路线：**官方 pdf（说明书路线）、md2pdf（管道路线）、office-mcp 的 PDF 域（句柄路线），外加一个刚下场的场外选手 pdfcn（组件路线，非 Skill）**。核心发现一句话：出纸层的竞争不在谁功能多，在四条路线各把一道关——官方件把「怎么不出错」写成了决策树，管道件把「不出错」收缩成「不出彩」，句柄件用一站换门槛，组件厂则干脆绕开 Skill 形态，把 shadcn 的「代码归你」哲学搬进了 PDF。

## 一、先对账：出纸层为什么今天值得横评

把本机装机与市场货架对一遍，这个赛道的供给恰好是四种工程哲学各占一席：

| 路线 | 代表件 | 形态 | 一句话哲学 |
|---|---|---|---|
| 说明书路线 | 官方 pdf（anthropics/skills） | SKILL.md 决策树 + 脚本 | 教模型自己判断，别替它选 |
| 管道路线 | md2pdf（社区） | 单一转换件 | 只做最窄一段，换确定性 |
| 句柄路线 | office-mcp（claude-office-skills） | MCP 服务器，39 工具 | 一次会话，跨域全包 |
| 组件路线 | pdfcn（shadcn-labs，场外） | 前端组件库 | 不给黑盒，给可改的代码 |

与 09-10 期《办公数据层横评》的关系先说清：那一期把「导出」当数据层六工位之一，给 md2pdf 记了 3.6、office-mcp 记了 3.1；本期把出纸单独拉出来当整条赛道看，两件沿用存档复分值并说明理由，官方 pdf 沿用 09-16 期深拆的 4.8 判例。本期真正的增量在第四席——pdfcn 让「组件路线」第一次有了值得对照的实体。

## 二、评测对比表

口径沿用本栏惯例：功能完整度 25%、设计质量 25%、实战效果 20%、上手难度 15%、社区活跃度 15%。评分口径为门牌与存档判例复合（非上手实测），外部通道断供期间星值取快照印刷值，推断一律带※。

| 件 | 功能 25% | 设计 25% | 实战 20% | 上手 15% | 社区 15% | 加权 |
|---|:---:|:---:|:---:|:---:|:---:|:---:|
| 官方 pdf | ★★★★★ | ★★★★★ | ★★★★☆ | ★★★★★ | ★★★★☆ | **4.80** |
| md2pdf | ★★★ | ★★★★ | ★★★★ | ★★★★★ | ★★ | **3.60** |
| office-mcp（PDF 域） | ★★★★ | ★★★ | ★★★ | ★★ | ★★★ | **3.10** |
| pdfcn（场外对照位） | ★★★★※ | ★★★★※ | 未装机 | ★★★★※ | ★★★★ | 不计权 |

复分说明：三件装机判例均有两期以上存档互相印证，本期无新证据，不做无据浮动；office-mcp 本机未装机，分数沿用 09-10 期口径。pdfcn 四星全部带※——发票、报表、收据的场景承诺出自描述原文，出纸质量未经本机验证。

## 三、四条产线逐个过堂

### 1. 官方 pdf：说明书路线，把「不出错」写成决策树

**定位**：anthropics/skills 官方文档四件套之一，本机以 `example-skills:pdf` 内置，开箱即用。09-16 期深拆给到全场罕见的 4.8 分，功能与设计双满星。

**亮点**全在「防选错」三个字。description 双句式（能力清单 + When 触发条件）负责把路由做稳；正文是一棵决策树而不是一本教程——**一个任务一个指定库**：新建走 reportlab，合并拆分走 pypdf，复杂版面换 pdfplumber，扫描件转图片走视觉通道。不给模型自由发挥的选项，因为多一个选项就多一次选错，产出还不可复现。阅读路径做成三级降级，把「文本提取不出来」这个最高频故障的出路预先铺好；填表先跑脚本列出真实字段清单再写值，「先探后写」消灭了字段名猜测这种高幻觉动作。

**短板**也在档案里记着：实战四星半的扣分在扫描件边界——盖章、手写、倾斜都掉精度；reportlab 是「画新版」不是「改旧版」，高保真还原原版式不是它的活。另一个值得玩味的细节：09-10 与 09-16 两期照录的 description 措辞已经不同——官方在迭代文案，抄作业的人要跟进仓库版本。

### 2. md2pdf：管道路线，名字即接口

**定位**：社区分发的极简转换件，本机装机在册，门牌四个字符把输入格式、转换动作、输出格式全部写死：md 进、pdf 出。

**亮点**是本赛道触发工程的天花板。用户嘴里那句最模糊也最高频的「转个 PDF」，落在它身上几乎零歧义——09-10 期的判词是「连名字本身都是触发词」。它砍掉了编辑、版式微调全部能力，换来极简依赖与确定性输出，适合脚本化批量转换，06-30 期甚至把它定为「如何写一个最小 Skill」的教学样例：**管道哲学的极致，就是把承诺收缩到不可能失信**。

**短板**是收缩的代价。功能三星是四条路线里最窄的：版式没有控制力，复杂排版需求当场露怯；社区活跃度两星垫底——单一维护、生态声量小，长期维护风险是装机前要掂量的。选它还是选官方件，判据一句话：要「转出来就行」选管道，要「排得可控」选说明书。

### 3. office-mcp 的 PDF 域：句柄路线，一站式换门槛

**定位**：社区仓库 claude-office-skills 出品的 MCP 服务器，封装 39 个真实工具，横跨 Word、Excel、PowerPoint、PDF、OCR 五大文档域，PDF 只是其中一个格口。

**亮点**在形态本身：区别于「封装一层 API」的技能，它给的是 39 个可独立调用的工具句柄，一次会话内可以同时改 Word、抽 Excel、识别扫描件，**不用在件与件之间换手**——跨域批处理场景里，这是四条路线中唯一的形态答案。

**短板**两期存档记得一致。06-30 期在变现加权的旧口径下给过 4.05，09-10 期标准口径复分落到 3.1——落差一半来自口径，另一半来自真实短板：MCP 配置对小白是硬门槛（上手两星），39 个工具句柄让触发精度需要调优，「官方件按需加载的优雅在这里变成了选择困难」。句柄路线买了一站式，付的是配置与路由两笔税。

### 4. pdfcn：组件路线，场外选手改写规则

**定位**：shadcn-labs 组织下的 TypeScript 仓库（今晨 1842★，近 45 天新建），严格说不是 Skill，本栏以场外对照位请进场——因为它回答的是同一个问题，只是换了形态。

**亮点**是哲学级的。shadcn/ui 的做法是不装包、把组件代码直接复制进你的项目；pdfcn 把同一套逻辑搬到 PDF：发票、报表、收据这类高频结构化文档，用组件拼装，底层据仓库描述构建于 Takumi 和 Forme 两个引擎（两者分工官方未展开，以官方文档为准※）。对出纸层的启示很直接：前三条路线都在教模型「怎么用工具」，组件路线把重心挪回代码本身——**产出物不再是黑盒输出，而是留在你仓库里、可改可审的组件代码**。

**短板**与待验证项同样清楚：它面向前端项目，要求使用者带着 React 技术栈入场，对「说句话就要 PDF」的会话场景是错配；出纸质量、中文排版、字体嵌入这些真刀真枪的活，装机实测前全部存疑。星数与血统不能替这些※签字。

## 四、设计层对账：四条路线各把哪道关

把四条路线摆到同一张需求入口上，分叉点立刻显形：

```mermaid
flowchart TD
    A["需求：一份PDF"] --> B["官方pdf<br/>说明书路线"]
    A --> C["md2pdf<br/>管道路线"]
    A --> D["office-mcp<br/>句柄路线"]
    A --> E["pdfcn<br/>组件路线"]
    B --> F["决策树选库<br/>先探后写"]
    C --> G["不问中间事<br/>确定性输出"]
    D --> H["三十九句柄<br/>跨域一站"]
    E --> I["组件代码<br/>复制进项目"]
    F --> J["成品PDF"]
    G --> J
    H --> J
    I --> J
```

读法不在图里，在四个取舍轴上：**触发宽度**（md2pdf 最窄最准，官方 pdf 靠双句式 description 铺宽）、**确定性**（管道与决策树都押注确定性，前者靠收缩承诺，后者靠消灭选项）、**半径**（句柄路线半径最大，配置税也最重）、**所有权**（组件路线是唯一把产出物所有权交给用户的——前三条路线的产物都是「一次会话的输出」，pdfcn 的产物是「你项目里的资产」）。想写自己第一件出纸 Skill 的人，这四条路线正好构成一张决策单：先问用户要什么（一句话转档，还是可控排版），再问自己在哪条轴上付得起代价。

```mermaid
mindmap
  root((出纸层四路线))
    说明书路线
      官方pdf 决策树
      渐进披露省token
    管道路线
      md2pdf 名字即接口
      确定性换功能
    句柄路线
      office-mcp 三十九工具
      MCP跨域一站
    组件路线
      pdfcn shadcn哲学
      代码归项目
```

## 五、安装与使用

```bash
# 官方 pdf：本机多为内置（example-skills:pdf），开箱即用
# 手动安装（通用）：
git clone https://github.com/anthropics/skills.git
cp -r skills/document-skills/pdf ~/.claude/skills/pdf
pip install pypdf pdfplumber reportlab

# md2pdf：社区分发，先定位来源再安装
npx skills find md2pdf
npx skills add <来源仓库>/md2pdf

# office-mcp：社区仓库，MCP 需按其说明接入配置
npx skills add claude-office-skills/skills --skill office-mcp

# pdfcn：场外组件库，面向前端项目（非 Skill）
git clone https://github.com/shadcn-labs/pdfcn
```

## 六、推荐排行榜

- **综合最优：官方 pdf（4.80）**——功能与设计双满星的守门员，说人话即触发，闭眼装。
- **极简场景首选：md2pdf（3.60）**——只要「转出来就行」，管道比说明书更快更稳。
- **跨域批处理首选：office-mcp（3.10）**——一次会话跨五大文档域，先付配置税再谈一站式。
- **最值得盯：pdfcn**——shadcn 血统加组件哲学，等一个装机实测再转正。
- **最值得抄的设计**：官方 pdf 的「一个任务一个指定库」——确定性优先于灵活性，是所有生成型 Skill 的通用课。
- **给新入场的作者**：出纸层正面攻山头的窗口已关，四条路线各有关主。剩余缝隙在中文排版方言件（字重、页边距、红头文件的中文规则没人管）和「出纸验收件」——渲染成图回看一眼这件事，目前没有专职件。

## 结语

出纸层是一个没有流量噱头、但每条内容产线都要路过的层。九天前它还是数据层横评里的一个工位，今天四条工程路线同框，连 shadcn 都带着组件哲学下了场。四条路线的胜负手各不相同：官方件赢在把失败路径写全，管道件赢在把承诺收窄，句柄件赢在半径，组件件赌的是所有权。对装机的人，选型判据只有一句：**先想清楚你要的是「一份文件」，还是「一段留在自己仓库里的出纸能力」——前者的答案在货架上，后者的答案正在从场外走进来。**

## 参考来源

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
