Typora导出PDF完全指南:从设置到排版优化一站式教程

立即下载Typora 中文下载站 全平台支持 · 官方最新版

为什么导出PDF会“丢失”格式

很多用户反馈:Typora里看着很好看,导出PDF后字体变了、行距乱了、代码块没颜色、表格被截断。这是所见即所得的局限性——屏幕上CSS和工作PDF渲染引擎不同。

导出PDF实际上是用Chromium引擎渲染再打印,本质是把HTML转PDF。所以让Typora里和PDF里都漂亮,需要配置 打印CSS 和 导出选项。

Typora导出PDF的基本流程

  1. 完成Markdown文档
  2. 文件 → 导出 → PDF
  3. 选择保存位置
  4. 等待几秒到几十秒(取决于图片数量)
  5. 完成

但这只是「裸导」,想要专业效果还需要做以下配置。

关键导出设置详解

打开 文件 → 偏好设置 → 导出:

通用设置

设置项 推荐值 说明
页面大小 A4(默认) 美式Letter适合美国用户
页面方向 纵向 横屏选横向
缩放 100% 视觉无损
边距 默认或自定义 论文常用上3cm/下2cm/左右2.5cm
装订边 0(一般不需要) 打印小册子用

高清图片选项

选项 效果 文件大小
不缩放 等像素清晰 最大
2倍清晰度 Retina兼容 较小
3倍清晰度 4K屏幕无损 中等
自动缩放 1.3倍 最小

字体嵌入

字体策略 兼容性 文件大小
嵌入完整字体 全设备一致 +500KB-1MB/字
嵌入子集 主流设备可用 +50-200KB/字
不嵌入 依赖系统字体 0

论文/简历推荐嵌入完整字体,确保审稿人在任何系统打开都一致。

自定义打印CSS

这是专业PDF导出的灵魂。打开 文件 → 偏好设置 → 外观 → 打开主题文件夹,复制一个主题文件夹,例如 github 改名为 print-pdf,编辑 github.css(实际是你的 print-pdf.css)添加打印规则:

@media print {
  /* 页面边距 */
  @page {
    margin: 2.5cm 2cm;
    size: A4;
  }
  
  /* 标题不另起页 */
  h1, h2, h3, h4 {
    page-break-after: avoid;
    page-break-before: auto;
  }
  
  /* 表格不跨页 */
  table {
    page-break-inside: avoid;
  }
  
  /* 代码块不拆 */
  pre, code {
    page-break-inside: avoid;
    white-space: pre-wrap;
    word-wrap: break-word;
  }
  
  /* 隐藏屏幕元素 */
  .md-toc, .md-sidebar-toc, .md-sidebar {
    display: none;
  }
  
  /* 链接URL写在注释里 */
  a[href^="http"]:after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
    color: #666;
  }
}

也可以把上述样式保存为独立的CSS文件,然后在PDF导出时手动指定。

三大场景优化配置

场景一:学术论文

要求:

@media print {
  body {
    font-family: "SimSun", "宋体", serif;
    font-size: 12pt;
    line-height: 1.6;
  }
  
  /* 段前段后 */
  p, h1, h2, h3 {
    margin: 0.6em 0;
    text-indent: 2em;
  }
  
  /* 居中 */
  .abstract h2, .title {
    text-align: center;
    text-indent: 0;
  }
  
  /* 图表全局不拆 */
  figure, table, pre {
    page-break-inside: avoid;
  }
  
  /* 图表标题 */
  figcaption, .caption {
    text-align: center;
    font-weight: bold;
  }
}

场景二:简历/简历生成

要求:

@media print {
  @page {
    size: A4;
    margin: 1.5cm 1.8cm;
  }
  
  h1 {
    font-size: 20pt;
    margin: 0;
    text-align: center;
  }
  
  h2 {
    font-size: 13pt;
    border-bottom: 1pt solid #333;
    padding-bottom: 0.2em;
    margin-top: 0.8em;
  }
  
  /* 简历紧凑 */
  ul, ol {
    margin: 0.3em 0;
    padding-left: 1.2em;
  }
  
  li {
    margin: 0.1em 0;
  }
}

场景三:长文/电子书

要求:

/* 页码 */
@page {
  @bottom-right {
    content: counter(page) " / " counter(pages);
  }
}

/* 页眉 */
@page :first {
  @top-right {
    content: "文章标题";
  }
}

h1 { font-size: 22pt; }
h2 { font-size: 18pt; page-break-before: always; }
h3 { font-size: 14pt; }

/* 横向页 */
.landscape {
  page: landscape-page;
}
@page landscape-page {
  size: A4 landscape;
}

图片处理优化

图片模糊问题

PDF导出后的图片看起来糊:

图片溢出页面

横向图或长截图:

  1. 改用 ![](img.png){:width=100%}
  2. 或者把图片旋转90度
  3. 或者在图片前后加 \newpage 让它独享一页

图片位置

解决常见问题

中文乱码

原因:PDF里没有嵌入对应中文字体 解决:

代码块没颜色

原因:导出PDF时未带主题色 解决:

pre code.hljs { /* 高亮背景 */ }

表格超出页面

原因:表格列太多 解决:

table {
  font-size: 9pt;
}
table th, table td {
  padding: 0.2em 0.5em;
}

链接变成蓝下划线

PDF中蓝色下划线视觉上不优雅:

a {
  color: inherit;
  text-decoration: none;
}
/* 也可显示在脚注 */
a[href^="http"]:after {
  content: "(" attr(href) ")";
  font-size: 0.7em;
  color: #888;
}

多文档合并PDF

用系统打印另存

如果需要把多个文章合并成一个PDF:

  1. 分别导出每个为PDF
  2. 用 PDF 工具(Adobe Acrobat、PDFsam、Foxit)合并

用Typora直接做

Typora 1.7+ 在 文件 → 导出 时可以选择多个打开的文件一次性导出合并。

添加页眉、页脚、水印

页眉页脚

Typora 1.6.x 自带:

水印

CSS方式:

@media print {
  body::before {
    content: "机密";
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-30deg);
    font-size: 60pt;
    color: rgba(0, 0, 0, 0.1);
    z-index: -1;
  }
}

自动归档

导出选项 Append PDF Version 让Typera自动加版本信息到PDF元数据。

减小PDF文件大小

方法 压缩比 画质损失
嵌入字体子集 -30% 无
降低图片分辨率 -50-70% 略微
移除隐藏内容 -10-20% 无
用pngquant缩图 -40-60% 几乎无
输出灰度 -10% 仅黑白文字

在Typora中:

与其他工具配合

导出PDF + Pandoc

有时候需要Pandoc的强大模板:

pandoc input.md -o output.pdf --pdf-engine=xelatex -V mainfont="SimSun" --toc --toc-depth=2

Typora优势是所见即所得,Pandoc优势是论文级控制。组合使用:

导出PDF + Word

先用Typora导出HTML,再用Word打开HTML另存为PDF。

# 命令行转HTML再转PDF
typocli --input input.md --output output.html
word-html-to-pdf output.html

导出PDF + GitBook

GitBook需要Markdown源文件,PDF导出GitBook自动处理,不依赖Typora。

实战工作流

个人博客归档

  1. Typora写好文章
  2. 嵌入所有图片本地化
  3. 导出PDF前用 print CSS 主题
  4. 导出高质量PDF存档
  5. 上传到NAS备份

技术分享讲稿

  1. Typora写带代码块的稿子
  2. 启用代码块语法高亮
  3. 导出PDF
  4. 配合PDF阅读器演示(演示模式)

论文最终稿

  1. Typora写初稿
  2. 中文学术 CSS 主题
  3. 嵌入完整字体
  4. 导出PDF
  5. 查重系统提交

总结

Typora导出的PDF要专业可控,关键是:

  1. 配置 print CSS 主题——核心动作
  2. 嵌入字体——保证一致
  3. 合理页面尺寸——A4 是国内通用
  4. 图片优化——影响最大
  5. 针对场景调节——论文/简历/电子书各有侧重

掌握CSS打印样式后,Typora能输出接近LaTeX专业度的PDF,同时保留Markdown的便捷写作体验。

这篇教程有帮助吗?立即下载Typora 中文下载站试试吧!

全平台支持 · 安全无毒 · 官方最新版