コマンドラインからマークダウンをPDFに変換

コマンドラインからマークダウンをPDFに変換

コマンドラインでマークダウンをPDFに変換する最も簡単なツールは何ですか?

人々がを使って提案した方法を見つけpandocましたが、必須パッケージにはギガバイトの依存関係が必要です。

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

コマンドラインから単純なマークダウンをPDFに変換でき、多くの依存関係を必要としない最小限のツールがありますか?

私はDebian 10を使用しています。

ベストアンサー1

質問で言及されているギガバイトのダウンロードはtexlive-*与えられたapt-getコマンドのLaTeX()パッケージから来るので、ここに示されているすべての方法はまだ何らかの方法でpandocを使用します。これらのどれも必要ありません。パッケージpandoc自体のダウンロードサイズは約17MBであり、これはあなたのユースケースに適しているかもしれません。

もしあなたが本当に、本物pandocを使用したくない場合は使用できますルナマークその場で。 pandoc(両方のツールは同じ作者を共有しています)と似ていますが、lunamarkはLuaで書かれており、インストールスペースが小さい非常に小さく効率的な言語です。しかし、利用可能な Debian パッケージがないので、自分でビルドする必要があります。しかし、前述したように、主な問題はPDF生成です。すべての良いPDFライブラリはフォント処理を実行する必要があり、これには一般的に利用可能なライブラリがたくさん必要です。

どのツールが利用できるかわかりません。まっすぐMarkdownからPDFへの一般的なアプローチは、中間形式を最初に使用することです。この形式を選択すると、選択が決まります。

  1. 小さな森:GNU troff は troff テキストフォーマッタの実装です。これはman非常に高速で美しいPDF出力を生成することができるようなツールの基礎です。必要groffghostscriptパッケージングし、pandoc を使用して電話します。

    pandoc --pdf-engine=pdfroff --output=out.pdf ...
    

    これはおそらく最小限の追加パッケージが必要なソリューションです。apt-get不要なパッケージがインストールされていないことを確認してください。

    apt-get install pandoc groff ghostscript --no-install-recommends
    

    新しく設定されたシステムでは、これは次のようになります。

    Need to get 38.3 MB of archives.
    After this operation, 194 MB of additional disk space will be used.
    
  2. ハイパーテキストマークアップ言語:HTML-PDFコンバータは複数あり、pandocはその2つ(現在のバージョンでは3つ)エンジンを使用してMarkdownからPDFへの変換を処理できます。weasyprintPythonで書かれたものとwkhtmltopdfChromiumで使用されているWebキットHTMLエンジンに基づいて構築されたものから選択できます。そのうちの1つをインストールしてから使用してください。

     pandoc --pdf-engine=weasyprint
    

    または

     pandoc --pdf-engine=wkhtmltopdf
    

    wkhtmltopdf特に多くのグラフィックスとフォントパッケージがインストールされている場合、これは良い選択です。たとえば、LXDEデスクトップ環境がインストールされているシステムでは、次のように表示されます。

    % apt-get install pandoc wkhtmltopdf --no-install-recommends
    ... [omitted] ...
    Need to get 16.4 MB of archives.
    After this operation, 122 MB of additional disk space will be used.
    

    しかし、まったく新しいシステムでは、影響は大きくなります。

    Need to get 91.1 MB of archives.
    After this operation, 530 MB of additional disk space will be used.
    
  3. エマルジョンDockerの使用:この方法は本質的にLaTeXを再利用することですが、システムにインストールするのではなく、pandocと最小限のLaTeXパッケージのみを含むDockerイメージを使用するため、比較的小さいサイズです。パッケージが必要docker.ioで、次のような長いコマンドを実行します。

    docker run --rm -v "$(pwd)":/data -u $(id -u):$(id -g) pandoc/latex --output=out.pdf ...
    

    これの利点は、最新のpandocとLaTeXのバージョンを使用し、最も見やすいPDF(IMHO)を提供することです。ただし、Dockerイメージサイズはまだ約200MBで、Docker自体も大きい(ダウンロードサイズ> 90MB)。

  4. 無料オフィス:この方法は、依存関係が非常に大きいため、LibreOfficeがすでにインストールされている場合にのみ意味があります。この場合、pandocを使用してPDFに変換するodtか、docx次のコマンドを使用してPDFに変換できます。

     lowriter --headless --convert-to pdf intermediary.odt
    

これらのいずれかがあなたの要件を満たしていることを願っています。

おすすめ記事