
コマンドラインでマークダウンを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への一般的なアプローチは、中間形式を最初に使用することです。この形式を選択すると、選択が決まります。
小さな森:GNU troff は troff テキストフォーマッタの実装です。これは
man
非常に高速で美しいPDF出力を生成することができるようなツールの基礎です。必要groff
とghostscript
パッケージングし、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.
ハイパーテキストマークアップ言語:HTML-PDFコンバータは複数あり、pandocはその2つ(現在のバージョンでは3つ)エンジンを使用してMarkdownからPDFへの変換を処理できます。
weasyprint
Pythonで書かれたものとwkhtmltopdf
Chromiumで使用されている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.
エマルジョン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)。
無料オフィス:この方法は、依存関係が非常に大きいため、LibreOfficeがすでにインストールされている場合にのみ意味があります。この場合、pandocを使用してPDFに変換する
odt
か、docx
次のコマンドを使用してPDFに変換できます。lowriter --headless --convert-to pdf intermediary.odt
これらのいずれかがあなたの要件を満たしていることを願っています。
答え2
Markdown - > HTML - > PDFパスを使用してください。HTMLをPDFに@tarlebの答えまたはHTMLをPDFに回答者:@MC68020
割引
これ(Debian パッケージ)Cで書かれており、私が見たオプションの中で最も依存性が少ないようです。
- 「filename.md」というファイルの場合
markdown filename.md
HTML(またはmakepage filename.md
完全な形式のXHTML)を出力します。stdout
- 必要に応じてそれを使用するか、
stdout
ファイルに転送できます。>
>>
- 私はこれをOkularから取得し、GUIとQtの依存関係を選択できれば簡単に使用できますが、まだない場合は約200MB程度です。
注:Okularがエクスポートに使用するのと同じPDFを作成する方法の詳細を学ぶことができます。