如何将 Markdown 文件转换为 PDF

问题描述 投票:0回答:10

我有一个 Markdown 文件,我希望将其转换为 PDF,以便我可以将其上传到Speakerdeck。我正在使用 Pandoc 从 Markdown 转换为 PDF。

我的问题是我无法指定哪些内容应该出现在 PDF 的哪一页上,因为 Markdown 不提供任何类似的功能。

例如,Markdown:

###Hello
* abc
* def

###Bye
* ghi
* jkl

现在我希望

Hello
成为扬声器甲板上的一张幻灯片,而
Bye
成为另一张幻灯片。因此,我需要将它们放在使用 Pandoc 生成的 PDF 的不同页面上。

但是

Hello
Bye
都位于 PDF 的同一页面上。

我怎样才能做到这一点?

pdf markdown pandoc
10个回答
210
投票

通过终端(2020年测试)

下载依赖项

sudo apt-get install pandoc texlive-latex-base texlive-fonts-recommended texlive-extra-utils texlive-latex-extra

尝试使用

pandoc MANUAL.txt -o example13.pdf
pandoc MANUAL.md -o example13.pdf

通过 Visual Studio Code 扩展(2020 年测试)

  • 下载 Yzane Markdown PDF 扩展
  • 在 Markdown 文件内右键单击 (
    md
    )
  • 将会出现以下内容
  • 选择
    Markdown PDF: Export (pdf)
    选项


70
投票

2016年更新:

NPM 模块:https://github.com/alanshaw/markdown-pdf

有命令行界面:https://github.com/alanshaw/markdown-pdf#usage

npm install -g markdown-pdf
markdown-pdf <markdown-file-path>

或者,在线服务:http://markdown2pdf.com


42
投票

由于SpeakerDeck仅接受PDF文件,最简单的选择是使用Latex Beamer后端来实现

pandoc

pandoc -t beamer -o output.pdf yourInput.mkd

请注意,您应该为此安装 LaTeX Beamer。

在Ubuntu中,您可以执行

sudo apt-get install texlive-latex-recommended
来安装它。如果您使用 Windows,您可以尝试这个答案

您可能还想尝试 Slidy 的 HTML/CSS 输出:

pandoc --self-contained -t slidy -o output-slidy.html yourInput.mkd

它具有不错的打印输出,您可以查看尝试打印原件

在此处阅读有关 pandoc 幻灯片的更多信息


16
投票

简单的在线解决方案:dillinger.io

只需将 Markdown 内容粘贴到左侧的编辑器中即可看到右侧的 (

html
) 预览。然后单击顶部的
Export as
并选择
pdf

它基于 开源 dilllinger 编辑器。


7
投票

添加到 elias 的答案,如果您想在幻灯片中分隔文本,只需在要分隔的文本之间添加

***
即可。如果您的示例需要多页,请这样写:

### Hello
- abc
- def

***

### Bye
- ghi
- jkl

然后使用 Elias 的答案,

pandoc -t beamer -o output.pdf yourInput.md

我有 Ubuntu 18.10 (Cosmic Cuttlefish) 并安装了来自 texlive 的完整软件包。它对我有用。


5
投票

之前我使用过 npm markdown-pdf 答案。然而,在全新安装 Ubuntu 19.04 (Disco Dingo) 时,我在正确安装时遇到了问题。

我开始使用 Visual Studio Code 包:“Markdown PDF”

详情:
名称:Markdown PDF
ID:yzane.markdown-pdf
描述:将 Markdown 转换为 PDF
版本:1.2.0
发行商: yzane
Visual Studio Marketplace 链接:https://marketplace.visualstudio.com/items?itemName=yzane.markdown-pdf

它一直运行良好。如果您在获取其他答案时遇到问题,我建议尝试这个。


4
投票

我已经成功获得了一个稳定的 Markdown -> HTML > PDF 管道,与 MarkReport 项目一起使用。

这比 Pandoc 要做的要多一些,因为它基于 WeasyPrint,因此旨在干净的报告发布,包括封面、标题、章节…… 它还通过语法突出显示和 LaTeX 方程丰富了 HTML。


3
投票

我发现许多 Markdown 到 pdf 转换器生成的文件我觉得看起来不太整齐。不过,有一个解决方案。

如果您使用 IntelliJ,您可以使用名为“Markdown”的插件。导出功能使用

pandoc
作为引擎,因此您可能需要将其与 pdf-latex 一起安装。 https://pandoc.org/installing.html

在 IntelliJ 中,在“工具”>“Markdown 转换器”>“将 Markdown 文件导出到...”下

这样,一份看起来干净的文件就完成了。可以通过

.css
样式表添加其他样式。


1
投票

iOS 的简单方法:

使用快捷方式应用程序(Apple 提供)

从 Markdown 制作富文本:剪贴板

^

从 Markdown 中的富文本格式制作 PDF

^

在快速查看中显示[PDF]

只需复制文本并运行快捷方式即可。按“快速查看”(左下角)中的“共享”以存储或发送它。我用它来快速将 Joplin 笔记转换为 pdf。


0
投票

我建议使用mdtopdf。 它支持语法高亮、分页以及深色和浅色主题。

通过获取适用于您的 arch 和操作系统的版本来安装 md2pdf,或者,如果您已安装 go,请调用:

$ go install github.com/mandolyte/mdtopdf/cmd/md2pdf@latest

如果您需要语法突出显示,请下载 gohighlight 词法分析器

md2pdf
支持所有主要的 Markdown 功能,并接受本地文件、远程 HTTP(s) URL 和 STDIN 输入。下面的命令会将 Markdown 文件转换为具有深色主题、语法突出显示(当然,您需要提供语言提示)、页面/幻灯片分隔和页脚的 PDF:

md2pdf -i https://github.com/jessp01/crash-course-in/raw/main/courses/apt_dpkg_deb/apt_dpkg_deb.md \
    -o apt_dpkg_deb.pdf \
    -s ~/.config/zaje/syntax_files \
    --theme dark \
    --new-page-on-hr \
    --with-footer \
    --author "Jesse Portnoy <[email protected]>" \
    --title "A crash course on handling deb packages"
© www.soinside.com 2019 - 2024. All rights reserved.