【问题标题】:Converting multiple Markdown files with links to PDF将多个带有 PDF 链接的 Markdown 文件转换为 PDF
【发布时间】:2020-03-06 22:19:30
【问题描述】:

我在 Markdown 中编写了大量技术文档。我选择使用它进行版本控制,因此我们可以在 GitHub 上查看。

我们现在需要与外部用户(对 Markdown 不太熟悉)共享此文件,因此我想将其转换为 PDF。

Gimli 似乎是我为转换找到的最佳工具(它使用与 GitHub 相同的样式表,因此看起来相同),但它也不会转换链接。有什么东西可以做到这一点吗?

【问题讨论】:

    标签: pdf markdown


    【解决方案1】:

    我不知道你对哪种类型的链接有问题(内联链接、参考链接、HTML链接、图片链接、自动链接...),但你可以尝试使用Pandoc

    pandoc *.md -o result.pdf
    

    这会将带有*.md 文件扩展名的所有文件转换为单个pdf。

    【讨论】:

    • 它不适用于内部链接,但它似乎是迄今为止最好的工具。谢谢。
    • pandoc 如何进行页面排序?假设我有 10 个 *.md 文件,如何指定它们的呈现顺序?
    • 在 bash 中它是一个按字母顺序排序的列表。参见 f.ex。 Is it possible to change the order of a glob? 其他可能性的答案。
    • 注意:这在我的 Mac 上对我有用,但在 Windows 的 pandoc 上使用 *.md(例如通配符)还不能工作。您必须分别总结所有 .md 文件;正如我今天为我的一个学生发现的那样。但是正如@PerfectlyRock 在他的回答中所描述的那样“捕捉”它们。
    【解决方案2】:

    我在 Markdown 文档中使用命名锚标记。我会链接到这些名字。例如,

    <a name="#1-overview"></a>
    ##1. Overview
    
    ......
    
    Reference: [1. Overview](#1-overview)
    

    然后我使用Typora打开markdown文档并导出为PDF。生成的 PDF 会正确保留这些内部链接。

    【讨论】:

    • 这是一种内部链接,另一种是输出中包含的不同 md 文件之间的链接
    【解决方案3】:

    不!你真的不必这样做!!! 只需“ cat *.md > allpages.md ”(您可能想要手动组织订单或以正确的名称设置每个文件以让 cat 工作)然后打开 allpages.md 然后在任何降价编辑器中选择打印/导出! !!

    您无需安装任何东西!!!!

    【讨论】:

    • 是的,这是一种非常糟糕的方式。没有目录,没有内部链接,没有适当的切片。只是长时间的串联页面。
    • 我不知道为什么人们讨厌这种方法,虽然它比我遇到的任何其他方法都好
    • 因为方法不是“更好”,Polla - PerfectlyRock 只是分散了原始问题的注意力。不幸的是,我们依赖 pandoc,因为这会拉入 haskell 堆栈。 :(
    • 这样你会丢失所有重要的元数据,如 TOC、页面等。如果你只是想要混乱的数据,那就是猫一整天。
    猜你喜欢
    • 1970-01-01
    • 2019-07-03
    • 2019-05-28
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    相关资源
    最近更新 更多