常见文档格式的特性
文档格式转换是日常办公的高频需求。要做好转换,先得理解每种格式的特性。
Markdown
- 定位: 轻量级标记语言,用纯文本编写结构化文档
- 特点: 语法简单、可读性强、版本控制友好
- 适用: 技术文档、博客、笔记、README
HTML
- 定位: 网页标记语言,描述文档结构和呈现
- 特点: 表现力强、支持样式和脚本、浏览器原生支持
- 适用: 网页内容、邮件模板、富文本
- 定位: 固定布局格式,跨平台一致呈现
- 特点: 排版精确、不易编辑、适合打印归档
- 适用: 合同、报告、正式文档、打印件
HTML 转 PDF 的几种方式
HTML 转 PDF 是最常见的转换需求之一,不同方式效果差异很大。
方式一:浏览器端转换(推荐)
DocsAll HTML 转 PDF 工具 在浏览器端完成转换,基于 html2canvas + pdf-lib 实现。
- 优点: 隐私安全、免费、即时处理
- 缺点: 复杂 CSS 支持有限
- 适用: 简单文档、报告、网页存档
方式二:浏览器打印
在浏览器中打开 HTML,按 Ctrl+P 选择"另存为 PDF"。
- 优点: 零成本、CSS 支持好
- 缺点: 无法程序化、分页控制弱
- 适用: 一次性转换
方式三:命令行工具
使用 Puppeteer 或 wkhtmltopdf:
# Puppeteer(Node.js)
npx puppeteer-cli print input.html output.pdf
# wkhtmltopdf
wkhtmltopdf input.html output.pdf
- 优点: 可批量、可自动化、效果接近浏览器
- 缺点: 需安装环境、有学习成本
- 适用: 批量处理、自动化流程
Markdown 转 HTML 工具对比
Markdown 转 HTML 是技术写作的基础环节。
DocsAll Markdown 转 HTML
DocsAll Markdown 转 HTML 工具 基于 marked 库,浏览器端即时转换。
- 优点: 免安装、隐私安全、实时预览
- 缺点: 插件扩展有限
- 适用: 快速转换、博客写作
marked(命令行)
# 安装
npm install -g marked
# 转换
marked input.md > output.html
- 优点: 快速、可集成到构建流程
- 缺点: 需 Node.js 环境
其他工具
- markdown-it: Node.js 库,插件丰富
- Pandoc: 万能转换器,支持几十种格式互转
- VS Code 插件: 如 Markdown Preview Enhanced
DocsAll 格式转换工具使用
DocsAll 提供全套格式转换工具,文档类在浏览器端处理,Office/PDF 互转由服务端安全处理:
HTML 转 PDF
- 打开 HTML 转 PDF 工具
- 粘贴 HTML 代码或上传 HTML 文件
- 设置页面尺寸和边距
- 点击转换,下载 PDF
Markdown 转 HTML
- 打开 Markdown 转 HTML 工具
- 在左侧编辑器输入 Markdown
- 右侧实时预览 HTML 效果
- 复制 HTML 或下载文件
组合使用
实现 Markdown → PDF 链路:
- 用 Markdown 转 HTML 得到 HTML
- 用 HTML 转 PDF 生成最终 PDF
格式转换的注意事项
1. 样式丢失问题
转换时最常见的是样式丢失:
- HTML → PDF: 复杂 CSS(flexbox、动画)可能不生效
- Markdown → HTML: 需搭配 CSS 样式表才有视觉效果
解决: 转换前内联 CSS 样式,确保不依赖外部资源。
2. 字体嵌入
PDF 需要嵌入字体才能保证跨设备一致:
- 使用系统通用字体(如思源黑体)
- 或在生成 PDF 时嵌入字体文件
3. 分页控制
HTML 转 PDF 的分页是个难点:
/* CSS 控制分页 */
.page-break {
page-break-after: always;
}
在需要分页的位置插入 <div class="page-break"></div>。
4. 图片处理
- 本地图片: 需转为 base64 内联,否则转换后丢失
- 网络图片: 确保链接可访问
- SVG: 转换工具需支持 SVG 渲染
5. 中文支持
中文文档转换需注意:
- 字体需支持中文字符
- 编码统一使用 UTF-8
- 部分工具对中文排版(标点挤压)支持有限
总结
格式转换没有银弹,关键是理解每种格式的特性和局限。HTML 转 PDF 推荐 DocsAll 浏览器端工具,Markdown 转 HTML 用 DocsAll 转换工具。转换前注意样式内联、字体嵌入和分页控制,这样能大幅提升转换效果。文档类工具浏览器端处理不上传,Office/PDF 互转由服务端安全处理后即时删除,隐私安全有保障。