Md2pdf
批量转换md为pdf
Install / Use
/learn @Dafeigy/Md2pdfREADME
❓这是个什么玩意儿?
这是个将Markdown文件转换为PDF的小脚本。你可以看看这个说明文档对应的README.pdf文件来查看转换效果再决定下不下载。
💡但是我的Typora本来就有导出PDF的功能啊?
是的,但是我们的Typora没有把这个功能集成到命令行里,如果你遇到这种情况:
你就会很晕对吧?所以这个小脚本支持批量转换Markdown为PDF。
📚那这个是怎么实现的
直接采用Pandoc转PDF的方法不太好使,所以采取了折中的方案:先将Markdown用Pandoc转换为HTML,然后再用wkhtmltopdf完成PDF转换。
Pandoc转换为HTML~~几乎完美~~,但是需要补充HTML头部以及CSS样式等。所以前端大佬可以直接修改html_head.txt中的文件完善。:
Emoji渲染
emoji方面尝试了三种方式,分别是SegoeUI的字体扩展、jQueryEmoj以及最终确定的twemoji.min.js的方法。
第一种方式得到的是黑白的Emoji,第二种和第三中都是用js更换Emoji为图片,区别是第二种的图片更全面一点。
数学公式渲染
采用Mathjax渲染,目前没有更好的方案,转换成pdf时会出现一些神秘的位置小错误,无伤大雅,这里以同样无伤大雅的欧拉公式举例:
$$ e^{\pi i}=-1 $$
如果你在Github这里看到的是$$e^{\pi i}=-1$$,那么你需要安装一个浏览器插件Mathjax-Plugin-for-Github,~~但这并不重要~~。
代码块渲染
没啥好说的,原始代码块,可以自己改CSS,那我就:
print('摸了')
🤺说了这么多那我要怎么用
- 安装好Pandoc 和 wkhtmltopdf 环境
- 拷贝需要转换的md文件到该项目文件夹根目录
- python环境下运行
🐟Todolist
- [ ] ~~丰富CSS样式~~
- [ ] ~~样式修复~~
- [ ] ~~公式的居中问题~~
- [ ] ~~Emoji的正文自动换行问题~~
- [x] 督促Typora更新
Related Skills
node-connect
345.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
106.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
345.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
