Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    z-soulx

    markdown-to-pdf

    z-soulx/markdown-to-pdf
    Productivity
    6
    2 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    将 Markdown 文档转换为专业的 PDF 白皮书,采用苹果设计风格 (v2.0)。

    v2.0 改进:

    • 使用 pdfkit + wkhtmltopdf 替代 WeasyPrint (避免 pango 依赖问题)
    • 支持 WebP 等特殊格式图片处理
    • 自动处理无扩展名图片
    • 提供完整的图片处理工具链
    • 一键式工作流

    支持完整的 Markdown 语法...

    SKILL.md

    Markdown to PDF Skill (v2.0)

    将 Markdown 文档转换为专业的苹果设计风格 PDF 白皮书。

    版本更新

    v2.0 (2025-01-30)

    重大改进:

    • ✅ 使用 pdfkit + wkhtmltopdf 替代 WeasyPrint
    • ✅ 移除 pango 依赖,安装更简单
    • ✅ 支持 WebP 图片格式
    • ✅ 自动处理无扩展名图片
    • ✅ 添加完整图片处理工具链
    • ✅ 提供一键式工作流

    依赖变更:

    # 旧版本 (v1.0)
    pip3 install markdown2 weasyprint
    brew install pango  # 复杂
    
    # 新版本 (v2.0)
    pip3 install markdown pdfkit Pillow
    brew install wkhtmltopdf  # 简单
    

    核心功能

    1. 专业排版: 书籍级排版质量,自动处理分页、孤行寡行
    2. 苹果设计: SF 字体系统、现代简洁风格、专业配色
    3. 完整目录: 自动提取章节结构,双列布局,可点击跳转
    4. Markdown 完美支持: 代码块、表格、引用、列表等全部正确渲染
    5. 图片处理: 自动检测和转换 WebP 图片,处理无扩展名图片
    6. 一键工作流: 从图片处理到 PDF 生成的完整自动化流程

    使用方法

    方式 1: 基础转换

    # 转换单个文件
    python scripts/convert.py input.md
    
    # 指定输出文件名
    python scripts/convert.py input.md -o "我的白皮书.pdf"
    
    # 自定义标题和作者
    python scripts/convert.py input.md --title "技术白皮书" --author "花叔"
    

    方式 2: 完整工作流 (推荐)

    # 一键执行: 图片处理 + PDF 生成
    python scripts/workflow.py input.md
    
    # 跳过图片处理
    python scripts/workflow.py input.md --skip-images
    
    # 完整自定义
    python scripts/workflow.py input.md \
      --title "技术白皮书" \
      --author "团队" \
      -o "output.pdf"
    

    方式 3: 分步执行

    # 步骤 1: 分析图片格式
    python scripts/analyze_images.py
    
    # 步骤 2: 转换 WebP 图片
    python scripts/batch_convert_images.py
    
    # 步骤 3: 更新 Markdown 引用
    python scripts/update_markdown_refs.py
    
    # 步骤 4: 生成 PDF
    python scripts/convert.py input.md
    

    Markdown 文档要求

    你的 Markdown 文档应该遵循以下结构:

    # 文档标题
    
    ## 1. 第一章
    ### 1.1 第一节
    ### 1.2 第二节
    
    ## 2. 第二章
    ### 2.1 第一节
    

    关键规则:

    • 主章节: ## 1. 标题 (数字 + 点 + 空格 + 标题)
    • 子章节: ### 1.1 标题 (数字.数字 + 空格 + 标题)
    • 这样才能正确提取目录

    工具说明

    convert.py - 核心转换工具

    将 Markdown 转换为 PDF,支持:

    • 元数据提取 (标题、作者、日期等)
    • 目录生成 (双列布局)
    • 图片路径处理 (绝对路径 + 扩展名补全)
    • 苹果设计风格 CSS

    analyze_images.py - 图片格式分析

    检测图片实际格式:

    • 通过 Magic Bytes 检测真实格式
    • 识别无扩展名的 WebP
    • 识别错误扩展名的 WebP
    • 生成转换计划报告

    batch_convert_images.py - 批量图片转换

    批量转换 WebP 为 PNG:

    • 根据转换计划执行
    • 自动删除原 WebP 文件
    • 生成文件名映射表
    • 生成转换报告

    update_markdown_refs.py - 引用更新

    更新 Markdown 中的图片引用:

    • 支持 HTML img 标签
    • 支持 Markdown 图片语法
    • 根据映射表批量替换
    • 生成更新报告

    workflow.py - 完整工作流

    一键执行所有步骤:

    • 自动分析图片
    • 自动转换格式
    • 自动更新引用
    • 自动生成 PDF

    设计特点

    封面设计

    • 淡灰色渐变背景
    • 大标题: 64pt,简洁现代
    • 副标题和元信息

    目录设计

    • 双列布局,单页展示
    • 主章节粗体,子章节缩进
    • 可点击跳转到对应章节

    正文排版

    • SF 字体系列 (苹果设计语言)
    • 行高 1.7,舒适阅读
    • 章节自动分页
    • 孤行寡行控制

    代码块

    • 浅灰背景 + 细边框
    • 圆角 8px
    • SF Mono 等宽字体
    • 自动避免分页

    表格

    • 清晰网格线
    • 浅灰表头
    • 自动保留表头 (长表格分页时)

    依赖安装

    Python 依赖

    pip3 install markdown pdfkit Pillow
    

    系统依赖

    # macOS
    brew install wkhtmltopdf
    
    # Linux
    sudo apt-get install wkhtmltopdf
    
    # 或下载二进制: https://wkhtmltopdf.org/downloads.html
    

    常见问题

    Q: 目录为什么是空的?

    A: 确保你的 Markdown 使用了正确的章节格式:

    • ## 1. 标题 而不是 ## 标题
    • ### 1.1 标题 而不是 ### 标题

    Q: 代码块显示不正确?

    A: 确保使用三个反引号包裹:

    ```python
    def hello():
        print("Hello")
    ```
    

    Q: 表格格式乱了?

    A: 使用标准的 Markdown 表格语法:

    | 列1 | 列2 |
    |-----|-----|
    | 值1 | 值2 |
    

    Q: wkhtmltopdf 安装失败?

    A:

    # macOS
    brew install wkhtmltopdf
    
    # Linux
    sudo apt-get install wkhtmltopdf
    
    # 或下载二进制
    # https://wkhtmltopdf.org/downloads.html
    

    Q: 图片显示不正确?

    A: 使用完整工作流:

    python scripts/workflow.py input.md
    

    它会自动处理所有图片问题。

    Q: 如何从 v1.0 升级?

    A: 查看 UPGRADE.md 文档了解详细升级步骤。

    配置选项

    如果需要自定义样式,可以修改 scripts/convert.py 中的 CSS 变量:

    # 主色调
    PRIMARY_COLOR = '#06c'      # 苹果蓝
    TEXT_COLOR = '#1d1d1f'      # 主文本黑色
    GRAY_COLOR = '#86868b'      # 浅灰色
    
    # 字体大小
    COVER_TITLE_SIZE = '64pt'
    H2_SIZE = '22pt'
    H3_SIZE = '17pt'
    BODY_SIZE = '11pt'
    

    文件结构

    .claude/skills/markdown-to-pdf/
    ├── SKILL.md                      # 本文件
    ├── README.md                     # 快速开始
    ├── EXAMPLES.md                   # 使用示例
    ├── UPGRADE.md                    # 升级指南
    ├── WORKFLOW.md                   # 工作流文档
    └── scripts/
        ├── convert.py                # 核心转换工具
        ├── analyze_images.py         # 图片分析
        ├── batch_convert_images.py   # 批量转换
        ├── update_markdown_refs.py   # 引用更新
        └── workflow.py               # 完整工作流
    

    技术实现

    本 Skill 使用:

    • markdown: 官方 Markdown 解析库
    • pdfkit: HTML to PDF 转换 (基于 wkhtmltopdf)
    • Pillow: 图片处理和格式转换
    • 苹果设计系统: SF 字体、专业配色、现代排版

    更新日志

    v2.0 (2025-01-30)

    • 使用 pdfkit 替代 WeasyPrint
    • 移除 pango 依赖
    • 添加图片处理工具链
    • 添加完整工作流
    • 改进图片路径处理
    • 改进错误提示

    v1.0 (2025-12-24)

    • 初始版本
    • 支持完整 Markdown 语法
    • 苹果设计风格
    • 自动目录生成
    • 书籍级排版质量
    Recommended Servers
    Docfork
    Docfork
    ScrapeGraph AI Integration Server
    ScrapeGraph AI Integration Server
    Jina AI
    Jina AI
    Repository
    z-soulx/ai-toolkit
    Files