朋友让我帮忙找制作文档站以及生成 PDF 文档的方案,最好能实现一个源文件既可以生成 HTML 版本的手册页面,又可以生成比较美观的 PDF 文档。

对于这种需求,我了解方案是使用 Shpinx-Doc ,源文件是 reStructuredText 格式(rst)。配置妥当,终端跑一个命令就能把文档生成专业稳重的手册页面。

但 Shpinx-Doc 的问题在于很适合生成手册页面,但在生成 PDF 文档的方面总会因为中文字体的原因导致生成的 PDF 文档排版很奇怪。

经过一番搜索,找到了 RelaxedJS,一款采用前端技术(HTML 或 Pug)生成 PDF 文档的工具。

RelaxedJS 的特色在于通过 Html + JS 可以比较精准设计 PDF 文档的排版,换言之,它可以实现非常丰富的页面设计,公式、图表以及各种 CSS 样式都能良好的展现。

另外,RelaxedJS 还支持 Markdown 和 LaTeX 源文件。

可以搭配以下工具一起使用: