web-dev-qa-db-ja.com

Github風味のマークダウンをA [PDFに変換する方法はありますか

私は最近、ドキュメントと一緒に使うためにMarkdownを学び始めました、そして私のMarkdownページのいくつかを印刷する必要があります。 Github風のMarkdownをPDFに変換できるようにするコマンドライン、ターミナルなどのユーティリティを使用したいと思います。それは適切な構文の強調表示を持つ必要があり、恐ろしいものに見えるべきではありません。助けてくれてありがとう。

136
dillmo

グリップ を使用してChromeでマークダウンを表示してから、印刷ダイアログでChromeの[PDFとして保存]オプションを使用することに成功しました。

pip install grip  
grip your_markdown.md

gripはlocalhost:5000に値下げを表示します - ただ編集してブラウザを更新してください。準備ができたら印刷します。

これはpandocよりも信頼できる表現を与え、ラテックスをインストールするよりも軽量でした(pdf生成のためにpandocによって必要とされる)。

この回答では、印刷はコマンドラインではありませんが、これはより簡単で信頼性が高いことがわかりました(比較的リンクされた画像やコードの強調表示を含む長いドキュメントではGithubの100%に見えます)。

138
Josh Werts

Node.jsベースの markdown-pdf も使用できます。

npm install -g markdown-pdf
markdown-pdf /path/to/markdown
49
Quanlong

pandoc を見てください。構文の強調表示はありません。独自のマークダウンがあり、GitHubのフレーバーとどの程度一致しているのか私にはわかりません。

37
Magnus

マークダウンファイルがgithubリポジトリでホストされていた場合、 gitprint はpdf/printを作成するための興味深いオプションです。

あなたがする必要があるのはURLのgithub.comgitprint.comに取り替えることだけです。これはgitprintのホームページからの です。

残念ながら、これはマークダウン要点では機能せず、リポジトリのマークダウンファイルでのみ機能します。

12
rpattabi

http://www.markdowntopdf.com で利用可能なオンラインコンバータがあります
これは箱から出して構文の強調表示を提供し、私がこれまで見た中で最も簡単な解決策です。 GFMに特有の他の機能も正しく処理します。テーブル.

7
kevgathuku

私のコメントで述べたように、Githubは構文の強調表示を提供するために Linguist を使用します。 Githubでは、これを使用して構文の強調表示を次のように指定できます。

```Ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```

残念ながら、Markdownを直接構文強調表示してPDFファイルに変換する良い方法はありません。

代替案:

Vim

もしあなたがvimを持っているのなら、端末から以下を実行することで構文の強調表示を簡単に達成できます。

vim -c hardcopy -c quit /path/to/file.ps

またはvimの中:

:hardcopy >/path/to/file.ps

これにより、例えばps2pdfを使用してpdfに変換できるPostScriptファイルが生成されます。

ps2pdf /path/to/file.ps

ソースハイライト

代わりにHTMLやLaTeXの道を歩みたいのであれば、代わりに Source-highlight を試すことができます。 Source-highlightでサポートされているすべての言語のリストは here にあります。

ソースハイライトコマンドの例をいくつか示します。

source-highlight -s Java -f html -i Hello.Java -o Hello1.html
source-highlight -s Java -f html --input Hello.Java --output Hello2.html --doc
source-highlight -s Java -f html -i Hello.Java -o Hello3.html --title "Happy Java with Java2html :-)" --tab 3

この入力ファイルを使用する

そしてそれぞれがそれぞれのHTMLファイルを出力します。

Hello1.html
Hello2.html
Hello3.html

ソースハイライトの使い方のさらなる例は こちら にあります。

Windows

Vimps2pdfGhostscript によって提供)および Source- highlight はすべて Cygwin から利用できます。

6

マークダウン文書をPDFに変換するサービスを最近作成しました。 Github風のマークダウンと構文の強調表示をサポートしています。サービスは次の場所にあります。 http://markdown2pdf.com

3
Saurabh Garg

私はいくつかのクロムプラグインとオンラインコンバータを試してみました。
MDtr2PDF が最適です。 Github風味のマークダウンとUnicodeをサポートしています。

1
doclin

解決策:pandocを使用して値下げをhtml に変換します( pandocにcssを使用 を忘れないでください)。次にlibreofficeで開き、オプションexport as pdfを選択します。

NB:ここでもインターネット上でも解決策はありませんでした:1)ブラウザベースの解決策(つまりグリップ)ページのように余分な情報を追加しています2)pdfへのpandoc変換は壊れています、私のためにそれは空のテーブルを生成します(おそらくUnicodeのため、そしてそう、私はxetexを使うようにそれを構成しました)、3)サイトベースのソリューション(すなわちgitprint.com)は、githubのような余白のような冗長なものも追加していますが、awkで生成した単純なテーブルだけが必要です。

1
Hi-Angel

Linuxをお使いの場合、 pandoc を使用してください。

インストール:

Sudo apt install pandoc texlive-latex-extra

はい、フォントのために-extraパッケージが必要です。

変換:

pandoc --from markdown -o output.pdf my-file.md
1

私の個人的なニーズに合わせて、 このスニペット を改良しました。

# Sudo apt install grip wkhtmltopdf

MD=${1:-README.md}
PDF=${2:-"$MD".pdf}
PORT=8971
DELAY=10

printf "Converting $MD to $PDF on port $PORT\n"
printf "Waiting $DELAY seconds for server to start...\n"

grip "$MD" localhost:$PORT &
sleep $DELAY
wkhtmltopdf http://localhost:$PORT "$PDF"
kill $(ps -eo pid,command | grep grip | grep -v grep | awk '{print $1}')

その後/usr/local/bin/md2pdfおよびSudo chmod +x /usr/local/bin/md2pdfとして保存します。

使用法:

  • md2pdfはREADME.mdをREADME.md.pdfに変換します

  • md2pdf foo.mdはfoo.mdをfoo.md.pdfに変換します

  • md2pdf foo.md bar.pdfはfoo.mdをbar.pdfに変換します

0
fredoverflow