私は最近、ドキュメントで使用するためにMarkdownを学び始めましたが、Markdownページのいくつかを印刷する必要があります。私はコマンドライン、ターミナルなどのユーティリティを使用して、Github風味のMarkdownをPDFに変換することを可能にしたいと思います。それは適切な構文のハイライトを持つ必要があり、ひどいものに見えないようにする必要があります。どんな助けもありがとうございます
180 dillmo 2013-12-16
私はgripを使ってChromeでマークダウンを表示し、印刷ダイアログでChromeの「PDFとして保存」オプションを使って成功しました
pip install grip
grip your_markdown.md
grip
はlocalhost:5000または同様のものでマークダウンをレンダリングします(例: http://localhost:5000/ に移動) – ただ編集してブラウザをリフレッシュしてください。準備ができたら印刷してください
これにより、pandoc
よりも信頼性の高い表現が得られ、ラテックスをインストールするよりも軽量になりました(pdf生成にはpandocが必要)
この回答では印刷はコマンドラインではありませんが、まだこれがより簡単/より信頼性の高いものであることがわかりました(比較的リンクされた画像やコードのハイライトを含む長い文書のために100%Githubのように見えました)
179 Josh Werts 2014-02-27
また、Node.jsベースのmarkdown-pdfを使用することもできます
npm install -g markdown-pdf
markdown-pdf /path/to/markdown
65 Quanlong 2015-04-16
pandoc を見てください。これにはシンタックスハイライトがあります。マークダウンには独自のフレーバーがあり、GitHub のフレーバーとどれだけ密接にマッチしているのかはわかりませんので、ドキュメントに変更を加える必要があるかもしれません
48 Magnus 2014-02-11
マークダウンファイルがgithubリポジトリでホストされていた場合、gitprintは、PDF / 印刷を作成するための興味深いオプションです
URLのgithub.com
をgitprint.com
に置き換えるだけです。以下はgitprintのホームページにあるexampleです
残念ながら、マークダウンギストでは動作せず、リポジトリのマークダウンファイルでのみ動作します
13 rpattabi 2014-08-08
http://www.markdowntopdf.com にオンラインコンバータがあります。また、テーブルなどのGFMに特有の他の機能も正しく処理します
10 kevgathuku 2015-07-10
Linux の場合は pandoc を使用してください
Install:
sudo apt install pandoc texlive-latex-extra
はい、フォントの関係で-extra
パッケージが必要です
Convert:
pandoc --from markdown -o output.pdf my-file.md
8 Andrejs Cainikovs 2018-08-22
コメントにも書きましたが、GithubではLinguistを使ってシンタックスハイライトを提供しています。Githubでは、これを使って以下のようにシンタックスハイライトを指定することができます
```ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```
残念ながら、Markdownを直接構文の強調表示でPDFファイルに変換する良い方法はありません
Alternatives:
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
Source-highlight:
代わりに HTML や LaTeX を使いたい場合は、Source-highlight を試してみてください。Source-highlight でサポートされている全ての言語のリストは こちら にあります
ソースハイライトコマンドの例としては、以下のようなものがあります
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:
Vim、ps2pdf (Ghostscript)、Source-highlight はすべて Cygwin を経由して利用できます
6 DanteTheEgregore 2013-12-16
私は最近、マークダウン文書をPDFに変換するサービスを作成しました。これは、シンタックスハイライトと同様にGithub風味のマークダウンをサポートしています。サービスは以下の場所にあります。http://markdown2pdf.com にあります
3 Saurabh Garg 2015-08-27
私の解決策: markdownをpandoc
でhtmlに変換して(to use css for pandoc to show table bordersを忘れないでください)、libreoffice
で開き、オプションexport as pdf
を選択します
1) ブラウザベースのソリューション (つまり grip) はページ番号のような余分な情報を追加しています
1 Hi-Angel 2016-09-10
私はいくつかのクロームのプラグインとオンラインコンバータを試してみました。 MDtr2PDFが一番いいです。Github-flavoured-markdownとunicodeをサポートしています
1 doclin 2017-10-07
私はこのスニペットを私の個人的なニーズに合わせてリファインしました
# 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
として保存します
Usage:
md2pdf
README.mdをREADME.md.pdfに変換しますmd2pdf foo.md
foo.mdをfoo.md.pdfに変換しますmd2pdf foo.md bar.pdf
foo.mdをbar.pdfに変換します
1 fredoverflow 2018-05-15
私はVSCodeとMarkdown PDF拡張子で最も運が良かったです。オンラインコンバータは、ファイルのエンコーディングを台無しにしたり、ヘッダーに透かしを挿入したりしていました
Usage:
- 拡張機能をインストールします
- VSCodeでMDファイルを開き、Markdownのハイライトが有効になっていることを確認してください
- コマンドパレット(F1)を開き、
export
と入力してmarkdown-pdf: Export (pdf)
を選択します
注意: この拡張機能は、バックグラウンドでローカルバージョンの Chromium をインストールして使用します
フォーマットを制御するためのいくつかのオプションがありますが、それらはすべて上記のリンク先のウェブサイトで説明されています
1 Lennart 2020-01-17
私は代わりにHTMLから変換しています。これは私のニーズに合っています
一般的なMarkdownは、ネイティブCSSのサポートがないので、PDFに変換するのには適したフォーマットではないことがわかりました。以下は私が使用しているスクリプトです
<?php
require 'dompdf/autoload.inc.php';
use Dompdf\Dompdf;
$dompdf = new Dompdf();
$dompdf->getOptions()->setIsFontSubsettingEnabled(true);
$s_in = file_get_contents('index.html');
$dompdf->loadHtml($s_in);
$dompdf->render();
$s_out = $dompdf->output();
file_put_contents('index.pdf', $s_out);
このソリューションは PHP (25 MB) と DomPdf (4 MB) を必要とするだけなので、他のオプションに比べてかなり軽量です
0 Steven Penny 2020-04-23
私はまだこのような高品質の結果を生成するコマンドラインソリューションを探しています[更新: 私は書式設定にCSSを使用して、かなり良い感じに見えるpandoc
コマンドを思いつきました。pandoc -f gfm -t html5 --metadata pagetitle="test.md" --css github.css test.md -o test.pdf
–今ここで私の他の答えを見てください!
Chrome の Markdown Viewer プラグインはとてもよく機能し、GitHub のマークダウンに驚くほど似ています。このプラグインをインストールして有効にした状態でChromeでマークダウンファイルを開き、メニューを使ってChromeからPDFとして印刷したり保存したりするだけです
Markdownビューアは以下の機能を誇っています(強調表示)
タイプ検出 ✔ RegExp を使用した URL 検出 ✔ コンテンツセキュリティポリシー (CSP) の切り替え ✔ ページエンコーディングの上書き ✔ 設定の同期 ✔ 生およびレンダリングされたマークダウンビュー ✔ フリーおよびオープンソース
Markdownファイルの例です
ここでは、私のプロジェクトでの私のサンプルマークダウンデモファイルからのスニペットであるサンプルマークダウンファイルです
test.md:
## 1.1. Align images left, right, or centered, with NO WORD WRAP:
This:
```html
**Align left:**
<p align="left" width="100%">
<img width="33%" src="https://i.stack.imgur.com/RJj4x.png">
</p>
**Align center:**
<p align="center" width="100%">
<img width="33%" src="https://i.stack.imgur.com/RJj4x.png">
</p>
**Align right:**
<p align="right" width="100%">
<img width="33%" src="https://i.stack.imgur.com/RJj4x.png">
</p>
```
Produces this:
**Align left:**
<p align="left" width="100%">
<img width="33%" src="https://i.stack.imgur.com/RJj4x.png">
</p>
**Align center:**
<p align="center" width="100%">
<img width="33%" src="https://i.stack.imgur.com/RJj4x.png">
</p>
**Align right:**
<p align="right" width="100%">
<img width="33%" src="https://i.stack.imgur.com/RJj4x.png">
</p>
If you'd like to set the text itself to left, center, or right, you can include the text inside the `<p>` element as well, as regular HTML, like this:
```html
<p align="right" width="100%">
This text is also aligned to the right.<br>
<img width="33%" src="https://i.stack.imgur.com/RJj4x.png">
</p>
```
Markdownビューアの出力
上記のマークダウンファイルは、Markdown Viewer プラグインをインストールしてオンにした状態で見ると、私のChromeブラウザで直接この出力を生成します。コードブロックのための言語を意識したシンタックスハイライト、見栄えの良いグレーのコード背景、出力コンテンツのための合理的な列幅を持っていることに注目してください
その出力はとてもいい感じで、GitHubのmarkdown出力とほぼ同じです!
テーマにも対応しています。例えばここでは「GitHub」というテーマが選択されているのを見てください。Chromeブラウザの右上にある小さなmプラグインのアイコンをクリックして、お好みのMarkdown Viewerの設定を選択するだけです
grip
output:
これをグリップからの出力と比較してみてください。grip
には、コードブロックのシンタックスハイライト、コードのグレーの背景、出力内容の適切なカラム幅がありません。ワイドモニタでは、横幅全体を占めてしまいます
LinuxのUbuntuで
sudo apt update
sudo apt install grip
grip test.md
そして、Ctrl+クリックして表示されたURLをクリックして、ブラウザで出力を開きます。例: http://localhost:6419/。これがChromeで表示されるgrip
レンダリングされた出力です
See also:
- 私の答え] How to convert Markdown + CSS -> PDF?
0 Gabriel Staples 2020-10-07