Imprint · 印记
Markdown 进,出版社级 PDF 出,自带 0–100 印刷级质检报告。
Imprint 是一个 AI 原生的中文印刷级 PDF 生成器。它把 Markdown 当成草稿,把 PDF 当成成品——按出版物的标准排版:宋体正文、黑体标题、首行缩进、标点避头尾、目录页码精确、表格跨页重复表头、代码不截断。生成之后,机器自动给这份 PDF 打分:0–100 印刷级评分,逐项给出证据。
快速开始(零配置)
# 方式一:一行命令(自动安装引擎,跨平台)
npx imprint-pdf 论文.md
# 方式二:pip 安装
pip install imprint-pdf
imprint 论文.md
# 常用命令
npx imprint-pdf --new report # 从模板起稿
npx imprint-pdf --list-themes # 22 套主题
npx imprint-pdf 论文.md --theme academic --out 论文.pdf
主题画廊(22 套 · 全部通过印刷级质检)
双栏学术论文模板
imprint --new paper 一键生成双栏学术论文:摘要/关键词通栏,正文双栏排版,标题不落页尾、表格不跨栏截断、行内公式不断行。
英文论文用 imprint --new ieee:IEEE 风格(Times 10pt 紧凑双栏 + IEEE 蓝),
lang: en 自动切换文档语言标签,Abstract / Index Terms 通栏。
党政机关公文(GB/T 9704 红头文件)
imprint --new gongwen 一键生成符合《党政机关公文格式》的红头文件:
红色发文机关标志、发文字号、红色分隔线(★)、黑体标题、仿宋三号正文、
右对齐落款与成文日期。
换肤 = 一行命令:imprint paper.md --theme wine;不指定也会智能换肤——自动分析内容气质选主题并说明理由(如周报自动用 graphite,论文自动用 academic)。
为什么是 Imprint
大多数 Markdown→PDF 工具(pandoc 默认、md2pdf 系、Chrome 打印)只是"把文字倒进页面"。Imprint 的三个差异点:
- 中文印刷级——严格按《中文排版需求》:避头尾禁则、首行缩进 2 字符、中英文混排字距、孤行寡行控制
- 设计系统即主题——每套主题是一组 DTCG 设计令牌(色板/字体配对/间距/装饰),换肤 = 换一行
- 印刷级质检报告——每个 PDF 生成后自动评分 0–100,检查文本可选、字体子集嵌入、标点违规、目录页码、PDF/UA 无障碍标签,证据可查
快速开始
pip install imprint-pdf
# 图表支持(可选)
pip install imprint-pdf[charts]
# MCP server(可选,Agent 一句话出报告)
pip install imprint-pdf[mcp]
imprint paper.md -o paper.pdf
imprint paper.md --theme sepia --compress
# 从模板起稿(报告/书籍/简历/技术文档/信函)
imprint --new report -o my_report.md
# 启动 MCP server(stdio),供 Claude Code / Cursor / DeepSeek Harness 等接入
imprint-mcp
输出结尾是一张质检报告:
印刷级质检报告
==============================================
✓ 文本可选 15.0/15.0 平均每页 722 字符
✓ 字体子集嵌入 15.0/15.0 5/5 字体已嵌入
✓ 元数据完整 3.0/3.0 标题「印记」
✓ 标点避头尾 15.0/15.0 0 违规
✓ 孤行寡行 9.0/9.0 0 处
✓ 目录页码 15.0/15.0 核对 15 条
✓ 页码存在 2.0/2.0 8/9 页含页码
✓ PDF/UA 标签 3.0/3.0 Tagged PDF
✓ 主题字体生效 3.0/3.0 命中 songti
✓ 主题对比度 5.0/5.0 正文 17.0:1 …
✓ 缺字检测 5.0/5.0 无缺字回退
✓ 内容溢出 5.0/5.0 无内容越界
✓ 图片清晰度 5.0/5.0 全部达标
----------------------------------------------
总分 100.0/100 · 等级 A+ · 9 页
特性
- 封面 + 目录:frontmatter 里的
title / author / date自动生成封面,标题自动生成可点击目录(页码精确) - 智能换肤:不指定主题时,按标题/关键词/正文信号自动推荐(含理由);显式指定优先
- 主题系统:22 套主题(见下方画廊)——现代杂志 / 学术书卷 / 北欧极简 / 护眼纸色 / 报纸头版 / 柔和粉彩 / 纯黑白 / 玉石绿 / 咖啡暖棕 / 海洋蓝 / 薰衣草紫 / 樱粉 / 松林绿 / 勃艮第酒红 / 石墨灰 / 深夜蓝纸(暗色)/ 珊瑚橙 / 琥珀金 / 薄荷青 / 沙漠沙色 / 极简(minimal) / 线装书(ink,宣纸+印章红),自定义主题 = 一个 JSON 文件
- GitHub 风格提示框:
> [!NOTE]/[!TIP]/[!WARNING]/[!IMPORTANT]/[!CAUTION]自动渲染为印刷级彩色提示卡,见examples/alerts.md - Mermaid 图表:
```mermaid代码块自动渲染为矢量图(中文正常、无限缩放),未装引擎时优雅回退代码块,见examples/charts.md - 数学公式:
$行内公式$/$$块级公式$$渲染为矢量 SVG(matplotlib mathtext,无数学字体依赖),见examples/math.md - 模板系统:
imprint --new report|book|resume|techdoc|letter|paper|gongwen|ieee一键起稿,模板自带对应排版气质(石墨灰报告 / 米黄书稿 / 等宽简历 / 海洋蓝技术文档 / 薰衣草信函 / 双栏学术论文 / 红头公文 / IEEE 英文论文) - 图片压缩:
--compress自动降采样超大图并重编码(实测 11.7MB → 1.4MB) - 字体体检:生成前自动检查主题字体本机是否可用,缺失时明确警告
- 中文规范:避头尾禁则、首行缩进、中英文混排、英文段落自动连字
- 表格跨页:表头自动重复、行不截断
- 代码高亮:Pygments 着色、整体换页不截断
- 缺字检测:渲染后扫描 LastResort/notdef 回退(豆腐块),脚注、箭头等符号缺字自动暴露
- PDF/UA:默认输出无障碍标签版
- AI 原生:CLI 一行命令;内置 MCP server(
imprint-mcp),Agent 一句话出报告(tools: render_markdown / list_themes / validate_pdf / new_document) - 对比度合规:每套主题自动通过 WCAG 印刷检查(正文 ≥7:1、小字 ≥4.5:1、装饰 ≥3:1)
对比
| pandoc 默认 | Chrome 打印 | Imprint | |
|---|---|---|---|
| 中文印刷级 | 弱 | 弱 | 按规范 |
| 设计系统主题 | 无 | 无 | DTCG tokens |
| 质检报告 0–100 | 无 | 无 | 自带 |
| 数学公式 | 插件级 | 无 | 矢量内嵌 |
| 模板起稿 | 无 | 无 | 8 套内置 |
| 双栏学术排版 | 无 | 无 | 内置 |
| 公文格式(红头文件) | 无 | 无 | 内置 |
| WCAG 对比度检查 | 无 | 无 | 内置 |
| PDF/UA 无障碍 | 手动 | 无 | 默认 |
文档
路线图
- 更多主题(minimal / ink 已上线,22 套)
- npm 分发
npx imprint(已上线) - 双栏 / 学术模板(已上线)
- PyPI 发布
- 更多双栏模板(IEEE / 公文 / 病历等)
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file imprint_pdf-0.11.0.tar.gz.
File metadata
- Download URL: imprint_pdf-0.11.0.tar.gz
- Upload date:
- Size: 46.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffece1720288b7398c609b3b2c95bc059472d9ff976d629381e33d063f65c686
|
|
| MD5 |
f97eb1bee3014e7db73fc92f68f0542f
|
|
| BLAKE2b-256 |
b3f53e4d0523b21718ee6be95e6cf6f3fd7c2b9e3e157de5563cc9c5fb0b928e
|
File details
Details for the file imprint_pdf-0.11.0-py3-none-any.whl.
File metadata
- Download URL: imprint_pdf-0.11.0-py3-none-any.whl
- Upload date:
- Size: 55.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53849ff3cc8f021879f5da9912984a42cb68e2defaddb9029cae56d52e88bcb5
|
|
| MD5 |
b9099eee94629c8d42c1f87c0c68b745
|
|
| BLAKE2b-256 |
3bccebb2f36711d5c7390355e1d439deb5c59b12cd15b0414c7d97963fb3f157
|