将本地Markdown文件转换为PDF并不需要将机密文档上传到第三方服务器。许多在线转换工具要求将文件传输至其后端进行处理,这带来了数据留存与泄露的隐患。
md2pdf利用浏览器原生的FileReader API进行操作。当您选择本地.md文件或将其拖入界面时,所有内容直接在浏览器内存中读取与渲染。无任何数据离开您的本地设备,非常适合处理内部规范、合同草案和技术笔记。
本指南将详细介绍支持的文件格式、大小限制、编码要求以及常见上传问题的解决方法。如果您更习惯直接粘贴文本,请参阅Markdown粘贴与即时编辑转换指南。
How local file uploads work in md2pdf
md2pdf的文件上传流程完全在前端执行。选择文件会触发浏览器的change事件,并在本地读取文件流:
const reader = new FileReader();
reader.onload = (e) => {
const markdownText = e.target.result;
renderMarkdownToPreview(markdownText);
};
reader.readAsText(file, 'UTF-8');
解析后的文本会立即填入编辑框并在预览窗口中生成排版效果。由于不向外部API发送任何HTTP POST请求,即使在完全断网的离线环境下转换也能正常进行。
Supported file types and extension rules
md2pdf支持以下主流的纯文本Markdown扩展名:
.md— 标准Markdown文件。.markdown— 完整Markdown后缀。.txt— 包含Markdown语法的纯文本文件。
系统会自动拦截如.docx、.rtf或已编译的.pdf等二进制文件。如果您手头是Word或HTML文档,请先将其导出为标准Markdown再导入md2pdf。
Client-side size limits and encoding
为保障浏览器的流畅交互,md2pdf设定了合理的处理边界:
- 单文件最大限制: 2 MB的UTF-8纯文本。
- 字符编码格式: 无BOM的UTF-8(UTF-8 without BOM)。
- 换行符兼容: 自动统一CRLF(
\r\n)与LF(\n)。
2 MB的Markdown文本约合30万字,足以容纳绝大部分技术白皮书。若单文件超出限制,界面会提示将其拆分,或使用多文件Markdown书籍合并工具。
Step-by-step: Uploading and printing a local Markdown file
按照以下步骤即可将本地文档转换为高品质PDF:
- 打开md2pdf首页并定位到转换工具栏。
- 点击上传Markdown按钮,或直接将
.md文件拖拽至编辑器区域。 - 检查编辑器文本内容,确认右侧预览区已成功渲染格式。
- 选择符合需求的排版主题:Clean、Business、Academic或Dark。
- 若文档包含三个以上的标题,可开启**目录(TOC)**选项。
- 点击打印 / 另存为PDF调出浏览器原生打印面板。
- 在目标打印机中选择另存为PDF,核对页边距后保存。
关于打印面板参数的细致调优,请参考掌控浏览器打印设置导出完美Markdown PDF。
Handling missing relative assets in local files
单独上传本地Markdown文件时,受浏览器沙箱安全限制,解析引擎无法访问同级或相对路径中的本地图片(例如)。
确保图片能正常打入PDF的方案:
- 将图片上传至安全HTTPS图床或代码仓库,在Markdown中使用绝对网络地址。
- 将图片转换为Base64 Data URI格式直接内联写入文档。
- 若文档存放在GitHub仓库中,建议直接使用GitHub README导入功能。
Common upload errors and troubleshooting
- 乱码问题: 标点符号或中文若显示为问号,请使用文本编辑器将文件另存为标准的无BOM UTF-8编码。
- 界面卡顿: 包含海量原始SVG或嵌套过深的大型表格可能拖慢预览渲染,建议移除冗余SVG或拆分章节。
- 文件无法读取: 确认后缀为
.md或.txt,强行更改后缀的二进制文件将被解析器拦截。
体验安全、私密且高效的本地文档转换,请立即访问md2pdf。
制作你自己的 README PDF
免费、无需登录,全程在浏览器本地完成。