如何将 Python 文件转换为 PDF 或 DOCX(无需安装 LaTeX)

发布: (2026年3月9日 GMT+8 20:21)
6 分钟阅读
原文: Dev.to

Source: Dev.to

你有一个 .py 文件——或几份文件——需要生成 PDF 或 Word 文档。也许你在提交课程作业、向非开发者分享代码、创建可打印的归档,或离线审阅开源仓库。下面是最常用方法的简要概览、它们的取舍以及各自适用的场景。

Pandoc

Pandoc 是一个成熟且被广泛使用的文档转换工具,能够很好地将 .py 转换为 DOCX 或 PDF。

pandoc my_script.py -o output.docx
pandoc my_script.py -o output.pdf
  • DOCX 输出可以干净地完成,无需额外的依赖——如果你对命令行操作熟悉,这是一个可靠的选择。
  • PDF 输出需要单独的 PDF 引擎。默认情况下,Pandoc 使用 LaTeX(Windows 上为 MiKTeX,macOS 上为 MacTeX),这些都是体积较大的安装。可以通过 --pdf-engine 参数使用更轻量的替代方案,如 wkhtmltopdfweasyprint,但它们也需要事先安装。

最佳适用场景: 对 CLI 熟悉且希望获得免费、可脚本化解决方案的开发者。DOCX 只需最少的设置;PDF 则需要先选择并安装 PDF 引擎。

nbconvert(用于 Jupyter 笔记本)

如果你在处理 .ipynb 笔记本,nbconvert 是合适的工具。它能够干净地处理单元输出、内联图形和 markdown 单元。

jupyter nbconvert --to html notebook.ipynb
jupyter nbconvert --to pdf notebook.ipynb
  • 原生输出格式包括 HTML、PDF、Markdown 和脚本。
  • DOCX 不是 nbconvert 的原生格式——将笔记本转换为 DOCX 需要单独安装 Pandoc 和 python-docx(如果已安装这些依赖,JupyterLab 中可以通过 文件 → 导出为 → Word 使用)。
  • PDF 输出仍然需要 LaTeX 发行版。

最佳适用场景: 需要 HTML 或 PDF 导出的数据科学家和笔记本用户。不适用于普通的 .py 文件。

Sphinx

Sphinx 是标准的 Python 文档工具。它可以根据源代码生成完整的文档站点,make latexpdf 可以生成 PDF。

  • 配置工作量较大:需要配置好 Sphinx、使用正确格式的 docstring,并且安装 LaTeX。
  • 输出质量优秀:拥有正确的交叉引用、模块索引以及专业的布局。

最佳适用场景: 需要维护文档的开源项目。对于快速导出而言有些大材小用,但对严肃项目来说是长期可靠的投入。

VS Code / 浏览器打印

在 VS Code 中打开带有打印扩展的文件,或在 GitHub 上查看后使用浏览器的 打印 → 保存为 PDF

  • 无需安装,无需命令行,立即可用。
  • 输出质量受限——边距和分页无法控制,长行可能被截断,且没有目录。

最佳场景: 当外观不重要时,快速对单个文件进行粗略打印。

pBinder(仅限 Windows)

pBinder 是一个便携式 Windows EXE,专门用于将 Python 文件和项目转换为 DOCX 和 PDF。它不需要 LaTeX、Python 环境,也无需安装——只需下载后直接运行。

  • 支持单个文件、少量文件或整个项目目录。
  • 生成可导航的文档:
    • 可点击的目录,带有项目文件夹树
    • 符号目录,列出所有本地定义的类、函数和方法,并带有超链接
    • 调用位置交叉引用,将每个使用链接回其定义

**限制:**仅限 Windows 10 64‑bit;PDF 导出需要 Microsoft Word(DOCX 在没有 Word 的情况下也能工作)。

**最佳使用场景:**希望在不需要 Pandoc 或 Sphinx 那样的 LaTeX 与 CLI 设置的情况下,获得结构化、可导航输出的 Windows 用户。提供 14 天免费试用,地址为 。

比较表

方法DOCXPDF多个文件目录LaTeX 必需设置
Pandoc手动脚本需要 PDF 引擎CLI
nbconvert用于 PDFJupyter 环境
Sphinx重量级
VS Code / Browser
pBinder

选择合适的工具

  • 单文件,无需繁琐操作: VS Code 或浏览器打印。
  • 笔记本: nbconvert
  • 脚本生成 DOCX 输出(无 LaTeX): Pandoc。
  • 完整项目文档(长期): Sphinx。
  • 在 Windows 上可导航的 DOCX/PDF,零配置: pBinder。

每种工具都有其合理的使用场景。正确的选择取决于你的操作系统、愿意投入的设置工作量以及期望的输出质量。

0 浏览
Back to Blog

相关文章

阅读更多 »

警告 PyPy 已不再维护

markdown !@konstinhttps://avatars.githubusercontent.com/u/6826232?s=40&v=4 看起来 PyPy 已经不再积极开发,甚至被逐步淘汰……