文本

Markdown 转 PDF

0次调用
2 积分/次

当您的业务系统需要提供“导出为 PDF”的功能时,无需在后端部署复杂的排版引擎,只需将 Markdown 文本发给这个接口,即可直接获取打印级的 PDF 文件。

POST
uapis.cn
/api/v1/text/markdown-to-pdf
Body
text
string
required

原始 Markdown 字符串,最大不超过 1MB。

theme
string

PDF 的排版主题。可选 githubminimallightdark,默认是 github

paper_size
string

PDF 的纸张大小。可选 A4Letter,默认是 A4

功能概述

  • 服务端直接生成:接口直接返回 PDF 文件二进制流,前端无需任何处理即可触发下载,后端也能轻松存盘归档。
  • 多种精美主题与纸张:内置了 GitHub、暗黑等多种专业排版主题,并支持 A4、Letter 等标准纸张。只需简单配置,就能生成符合业务场景的专业文档。
  • 公网图片也可以直接带入 PDF:除了纯文本和标准 Markdown 语法,这个接口也可以处理 data URI 图片,或者公网可访问的 httphttps 图片链接。服务端会先通过代理抓取图片,并在渲染前内联到文档里,同时带有超时控制。

请求体

请求体使用 application/jsontext 必填,themepaper_size 可选。

text
string必填

原始 Markdown 字符串,最大不超过 1MB。

theme
string可选

PDF 的排版主题。可选 githubminimallightdark,默认是 github

paper_size
string可选

PDF 的纸张大小。可选 A4Letter,默认是 A4

响应

200 / 请求成功

转换成功。响应体是 PDF 二进制文件流。

application/pdf

400 / 错误的请求

请求参数不合法,或者 Markdown 内容包含当前不允许的内容。

格式 1请求体格式错误
JSON
{
  "code": "INVALID_PARAMETER",
  "message": "请求体格式不正确,请传标准 JSON"
}
格式 2缺少 Markdown 文本
JSON
{
  "code": "INVALID_PARAMETER",
  "message": "text 不能为空"
}
格式 3主题参数错误
JSON
{
  "code": "INVALID_PARAMETER",
  "message": "theme 只允许 light、dark、minimal、github"
}
格式 4纸张参数错误
JSON
{
  "code": "INVALID_PARAMETER",
  "message": "paper_size 只允许 A4 或 Letter"
}
格式 5包含原始 HTML
JSON
{
  "code": "UNSUPPORTED_MARKDOWN",
  "message": "当前暂不支持原始 HTML 标签,请改用标准 Markdown 语法"
}
格式 6图片地址不支持
JSON
{
  "code": "UNSUPPORTED_MARKDOWN",
  "message": "Markdown 图片只允许使用 data URI 或公网可访问的 http、https 地址,不支持本地文件路径"
}
格式 7包含不安全链接协议
JSON
{
  "code": "UNSUPPORTED_MARKDOWN",
  "message": "链接协议仅支持 http、https 或 mailto"
}

413 / 请求实体太大

Markdown 文本,或 Markdown 中引用的图片资源超过当前大小限制。

格式 1Markdown 文本过大
JSON
{
  "code": "TEXT_TOO_LARGE",
  "message": "Markdown 内容不能超过 1MB"
}
格式 2图片资源过大
JSON
{
  "code": "FILE_TOO_LARGE",
  "message": "Markdown 中的图片体积过大,请换一张更小的图片再试"
}

500 / 服务器内部错误

PDF 生成失败,请稍后再试。

JSON
{
  "code": "REQUEST_FAILED",
  "message": "Markdown 转 PDF 失败,请稍后再试"
}

502 / 网关错误

Markdown 中引用的图片下载失败,或远端返回的不是可识别的图片内容。

JSON
{
  "code": "REQUEST_FAILED",
  "message": "Markdown 中的图片下载失败,请确认图片地址可以正常访问"
}

503 / 服务不可用

PDF 渲染服务暂时不可用。

格式 1服务未就绪
JSON
{
  "code": "SERVICE_TEMPORARILY_UNAVAILABLE",
  "message": "Markdown 转 PDF 服务暂时不可用,请稍后再试"
}
格式 2渲染器暂时不可用
JSON
{
  "code": "SERVICE_TEMPORARILY_UNAVAILABLE",
  "message": "PDF 渲染服务暂时不可用,请稍后再试"
}

504 / 网关超时

Markdown 中引用的图片下载超时。

JSON
{
  "code": "UPSTREAM_TIMEOUT",
  "message": "Markdown 中的图片下载超时了,请稍后再试"
}