新增能力:内置 4 套红头、3 套正式文档和 3 套标书主题,支持主题推荐页边距、页面装饰、页眉页脚和页码;增加结构化公文、项目报告及标书 Front Matter,内置 Fandol 中文字体、两份教程和 14 份主题示例。 桌面工作流:重组更多菜单,增加新建、保存、另存为快捷键和未保存确认;另存为后跟随新路径,主题示例自动切换主题,Desktop 发行包完整携带教程、示例与字体。 问题修复:修正红头标题居中与正式文档字体;围栏代码按正文宽度自动换行,长内容安全断行,至少两行即可在当前页分页,并统一保留 8px 左侧内容留白;Docker Web 镜像正确打包 samples。 兼容与部署:未声明主题推荐设置时继续使用 16mm 默认页边距;Web 隐藏不适用的另存为。正式镜像 yixiong/md-to-pdf:v0.5.1 内容 ID 为 sha256:72f519a69bfd6cb2f6df30c2be938e58ceb6f20e4748a32551874de3d436b276,Compose 健康运行。 验证结果:最终修复前 65 个测试文件、286 项测试通过,最终代码块与主题定向测试 27 项通过;全项目类型检查、生产构建和 git diff --check 通过。容器检出 14 套主题、17 份 Markdown,代码块回归 PDF 为 2 页且无越界。NSIS SHA-256 为 676CCE73D782B0B15AC6BC68F253CFBC4740383583E4DAA98F746EDF9999C5CC,ZIP SHA-256 为 82BF6ADF1200604F145CC86FA3ED193955CF6741EBEE3DF8953483515CFF621F。
14 KiB
title, author, keywords
| title | author | keywords | |||||
|---|---|---|---|---|---|---|---|
| 公文与正式文档主题使用教程 | Markdown PDF 导出器 |
|
公文与正式文档主题使用教程
本教程介绍政企红头、政企正式和标书主题的选择方法,以及如何通过文档 开头的 Front Matter YAML 生成红头、发文字号、签发人、简报刊头、项目 封面、投标封面和文末版记。
一、Front Matter 是什么
Front Matter 是 Markdown 文件最前面的 YAML 配置,必须由两行 ---
包围。结束标记之后才开始写正文。
---
title: 关于进一步规范项目管理工作的通知
author: 示例市人民政府办公室
subject: 项目管理工作通知
keywords: [公文, 通知, 项目管理]
document:
profile: official
issuer: 示例市人民政府办公室
number: 示例办发〔2026〕12号
date: 2026年7月29日
---
注意:
- YAML 使用空格缩进,不要使用 Tab;
document下的字段需要比document:多缩进两个空格;- 日期建议写成明确的中文字符串,例如
2026年7月29日; - 教程或主题示例从“更多”菜单打开时会自动切换主题;
- 普通 Markdown 文件中的 Front Matter 只描述文档结构,不会自动选择主题。
二、选择合适的主题
政企红头
- 政企红头·国家标准:适合通知、决定、请示、报告等较完整的党政机关公文结构。
- 政企红头·信函格式:适合函、征求意见、答复等信函式公文。
- 政企红头·企业简版:适合企业内部通知、制度和管理文件。
- 政企红头·工作简报:适合工作动态、专题简报和阶段性通报。
政企正式
- 政企正式·规章制度:适合制度、办法、细则和管理规范。
- 政企正式·工作报告:适合总结、汇报、调研和会议材料。
- 政企正式·可研报告:适合可行性研究、项目建议书和建设方案。
标书正式
- 标书正式·经典版:适合常规投标文件和技术方案。
- 标书正式·商务蓝:适合企业方案、汇报材料和商务投标。
- 标书正式·暗标版:适合需要弱化投标人识别信息的技术暗标。
三、通用元数据字段
这些字段位于 YAML 最外层,可用于所有主题和 profile。
| 字段 | 类型 | 功能 | 示例 |
|---|---|---|---|
title |
字符串 | 文档标题;结构化主题会将其用于红头标题或封面标题 | title: 关于开展专项检查的通知 |
author |
字符串 | 作者或编制单位,同时可写入 PDF 作者元数据 | author: 示例市人民政府办公室 |
subject |
字符串 | 文档主题,可写入 PDF 主题元数据 | subject: 专项检查工作通知 |
keywords |
字符串数组 | 文档关键词,可写入 PDF 关键词元数据 | keywords: [公文, 通知, 检查] |
document |
对象 | 启用并配置结构化公文、简报、项目报告或标书 | document: { profile: official } |
title 是结构化主题最重要的通用字段。使用 official、project-report
或 tender 时,正文通常不再重复书写同名一级标题。
字段路径也可以用点号快速定位,例如 document.profile: official 表示
YAML 中 document 对象下的 profile: official,点号路径仅用于说明,
不能直接照此写入 YAML。
四、红头公文:official
最小配置
最小配置适合企业简版红头或暂不需要文号、签发人的文件:
---
title: 关于调整项目评审流程的通知
document:
profile: official
issuer: 示例科技集团有限公司
date: 2026年7月29日
---
完整配置
---
title: 关于进一步规范项目管理工作的通知
author: 示例市人民政府办公室
subject: 项目管理工作通知
keywords: [公文, 通知, 项目管理]
document:
profile: official
issuer: 示例市人民政府办公室
number: 示例办发〔2026〕12号
secrecy: 秘密
urgency: 加急
signatory: 张三
date: 2026年7月29日
copyTo:
- 市发展改革委
- 市财政局
- 市审计局
printingOffice: 示例市人民政府办公室
---
official 字段表
| 字段 | 类型 | 必填 | 功能 | 示例 |
|---|---|---|---|---|
profile |
固定字符串 | 是 | 启用红头公文结构,必须为 official |
profile: official |
issuer |
字符串 | 否 | 红头发文机关名称,并用于文末落款机关 | issuer: 示例市人民政府办公室 |
number |
字符串 | 否 | 发文字号 | number: 示例办发〔2026〕12号 |
secrecy |
字符串 | 否 | 密级或保密期限 | secrecy: 秘密 |
urgency |
字符串 | 否 | 紧急程度 | urgency: 加急 |
signatory |
字符串 | 否 | 签发人姓名 | signatory: 张三 |
date |
字符串 | 否 | 成文日期,并用于版记日期 | date: 2026年7月29日 |
copyTo |
字符串或数组 | 否 | 文末抄送机关,最多 30 项 | copyTo: [市财政局, 市审计局] |
printingOffice |
字符串 | 否 | 文末版记中的印发机关 | printingOffice: 市政府办公室 |
copyTo 支持两种写法:
document:
profile: official
copyTo: 市发展改革委, 市财政局, 市审计局
document:
profile: official
copyTo:
- 市发展改革委
- 市财政局
- 市审计局
抄送信息不需要手工写在正文末尾,结构化主题会自动生成;印发机关和日期 也会进入标准化版记区域。
五、工作简报:briefing
工作简报使用独立的刊头、期号、编发单位和报送说明。
---
title: 重点项目建设工作推进情况
author: 示例市重点项目办公室
subject: 重点项目工作简报
keywords: [简报, 项目建设, 工作推进]
document:
profile: briefing
masthead: 工作简报
issue: 2026年第12期
publisher: 示例市重点项目办公室
signatory: 王五
date: 2026年7月29日
contact: "报送:市政府领导;发送:各区人民政府、市直有关单位。编辑:综合协调处,电话:0000-12345678。"
---
| 字段 | 类型 | 必填 | 功能 | 示例 |
|---|---|---|---|---|
profile |
固定字符串 | 是 | 启用简报结构,必须为 briefing |
profile: briefing |
masthead |
字符串 | 否 | 简报顶部刊头名称 | masthead: 工作简报 |
issue |
字符串 | 否 | 期号 | issue: 2026年第12期 |
publisher |
字符串 | 否 | 编发单位 | publisher: 市重点项目办公室 |
signatory |
字符串 | 否 | 签发或审核人员 | signatory: 王五 |
date |
字符串 | 否 | 编发日期 | date: 2026年7月29日 |
contact |
字符串 | 否 | 报送、发送、编辑及联系方式说明,最长 500 字符 | contact: "报送:市政府领导;编辑:综合处。" |
六、可研与项目报告:project-report
project-report 会生成项目报告封面,适合可行性研究报告、项目建议书和
建设方案。
---
title: 可行性研究报告
author: 示例工程咨询有限公司
subject: 智慧园区建设项目可行性研究
keywords: [可行性研究, 项目建设, 投资估算]
document:
profile: project-report
projectName: 智慧园区一体化平台建设项目
documentType: 可行性研究报告
owner: 示例产业园区管理委员会
preparedBy: 示例工程咨询有限公司
version: 送审稿 V1.0
date: 2026年7月
---
| 字段 | 类型 | 必填 | 功能 | 示例 |
|---|---|---|---|---|
profile |
固定字符串 | 是 | 启用项目报告封面,必须为 project-report |
profile: project-report |
projectName |
字符串 | 否 | 项目完整名称 | projectName: 智慧园区一体化平台建设项目 |
documentType |
字符串 | 否 | 报告类型 | documentType: 可行性研究报告 |
owner |
字符串 | 否 | 建设、委托或申报单位 | owner: 示例产业园区管理委员会 |
preparedBy |
字符串 | 否 | 编制单位 | preparedBy: 示例工程咨询有限公司 |
version |
字符串 | 否 | 文件版本或送审状态 | version: 送审稿 V1.0 |
date |
字符串 | 否 | 编制日期 | date: 2026年7月 |
封面之后直接从第一章开始书写,例如:
# 第一章 总论
## 一、项目概况
本项目拟建设统一的园区管理、企业服务和运行监测平台。
七、投标文件:tender
常规投标文件
---
title: 投标文件
author: 示例科技有限公司
subject: 数据中心建设项目投标文件
keywords: [投标文件, 技术方案, 项目实施]
document:
profile: tender
copyMark: 正本
projectName: 数据中心基础设施建设项目
projectNumber: ZB-2026-001
volume: 技术及商务文件
bidder: 示例科技有限公司
representative: 李四
date: 2026年7月29日
---
技术暗标
暗标通常省略投标人和代表信息,具体要求应以招标文件为准:
---
title: 技术文件
subject: 城市运行管理平台技术暗标
keywords: [技术暗标, 技术方案, 项目实施]
document:
profile: tender
copyMark: 技术暗标
projectName: 城市运行管理平台建设项目
projectNumber: JS-2026-009
volume: 技术文件
date: 2026年7月
---
tender 字段表
| 字段 | 类型 | 必填 | 功能 | 示例 |
|---|---|---|---|---|
profile |
固定字符串 | 是 | 启用标书封面,必须为 tender |
profile: tender |
copyMark |
字符串 | 否 | 正本、副本或技术暗标标记 | copyMark: 正本 |
projectName |
字符串 | 否 | 招标或采购项目名称 | projectName: 数据中心基础设施建设项目 |
projectNumber |
字符串 | 否 | 项目或招标编号 | projectNumber: ZB-2026-001 |
volume |
字符串 | 否 | 分册名称 | volume: 技术及商务文件 |
bidder |
字符串 | 否 | 投标人名称 | bidder: 示例科技有限公司 |
representative |
字符串 | 否 | 法定代表人或授权代表 | representative: 李四 |
date |
字符串 | 否 | 投标或编制日期 | date: 2026年7月29日 |
八、普通正式文档
规章制度和工作报告不一定需要结构化封面。只使用通用元数据,并在正文中 正常书写一级标题即可:
---
title: 信息系统项目管理办法
author: 示例集团有限公司
subject: 信息系统项目管理制度
keywords: [规章制度, 项目管理, 信息系统]
---
# 信息系统项目管理办法
## 第一章 总则
这种写法适用于“政企正式·规章制度”和“政企正式·工作报告”。不要添加
不存在的 document.profile,否则文档会显示配置错误。
九、正文写法
红头公文的 Front Matter 结束后直接书写主送机关和正文,不要再次添加
与 title 相同的一级标题,否则会重复显示公文标题。
各区人民政府,市政府各部门、各直属机构:
为进一步加强全市重点项目全过程管理,现将有关事项通知如下。
## 一、完善项目分级管理机制
各单位应当按照投资规模、建设周期和社会影响建立动态管理台账。
## 二、规范项目建设过程
(一)严格执行项目建设程序。
(二)建立月度调度机制。
十、页边距、页眉页脚和页码
这些项目不属于 Front Matter 的 document 字段,而由主题推荐值和
“导出设置”控制:
| 配置 | 默认行为 | 自定义方式 |
|---|---|---|
| 页边距 | 主题有推荐值时跟随主题,否则四边 16mm |
导出设置 → 页边距 → 自定义 |
| 页眉 | 正式主题可提供推荐内容和字体 | 导出设置 → 页眉 |
| 页脚 | 正式主题可提供推荐内容和字体 | 导出设置 → 页脚 |
| 页码 | 红头主题可推荐 — 1 — 等公文式页码 |
导出设置 → 页码 |
| 纸张与方向 | 默认 A4 纵向 | 导出设置 → 纸张 |
- 国家标准红头主题使用公文式页码;
- 双面文档页码可按奇偶页放在外侧;
- 信函格式首页可以不显示页码;
- 切换为“自定义”后,导出设置会覆盖主题推荐值。
不要在 Front Matter 中填写 margin、header、footer 或 pageNumber
并期待其生效;当前版本不把这些字段作为文档结构协议解析。
十一、字体说明
正式主题内置可再分发的 Fandol 中文字体资源,以减少不同电脑之间的显示 差异:
- 正文以宋体风格为主;
- 一级结构标题使用黑体风格;
- 二级结构标题使用楷体风格;
- 红头机关名称使用项目内置的小标宋近似字体方案;
- 页眉页脚使用正式文档主题规定的对应字体。
内置字体用于稳定排版效果,但不声称等同于需要单独授权的商业字体。对 字体有强制采购或归档要求的单位,应按本单位规定配置经授权字体。
十二、常见错误
| 现象 | 原因 | 处理方法 |
|---|---|---|
| YAML 被显示成正文 | 文件开头不是 ---,或缺少结束的 --- |
确保 Front Matter 位于文件第一行 |
| 提示未知字段 | document 使用严格字段校验 |
对照对应 profile 的字段表删除拼写错误或多余字段 |
| 标题出现两次 | title 已生成结构标题,正文又写了同名 # 标题 |
删除正文中重复的一级标题 |
| 抄送未显示 | copyTo 写在了 document 外层 |
将其缩进到 document: 下面 |
| 主题没有自动切换 | 普通文件不能通过 Front Matter 选主题 | 手动选择主题,或从“更多 → 主题示例”打开 |
| 页边距字段无效 | 页边距不属于文档 profile | 在导出设置中选择“跟随主题”或“自定义” |
十三、导出前检查
- 确认标题、发文机关、发文字号和日期无误。
- 检查主送机关、落款和抄送信息是否完整。
- 暗标文件必须再次对照招标要求检查身份信息和版式限制。
- 使用“精确”预览核对页码、页边距和分页边界。
- 检查表格、图片、图表和附件说明是否跨页异常。
- 最终 PDF 应保持文字可搜索,并在归档前完成内容复核。