それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

chromeの起動オプションでページをHTML→PDFで保存する。

chrome だけを使って、HTMLをPDFに変換します。

chrome で pdf にサイトを保存することが可能です。Seleniumのscreenshot を作らなくても、単一なページであれば、PDFにすることが可能です

--print-to-pdfオプション

$ alias chrome='/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'
$ chrome   --print-to-pdf='/Users/takuya/Desktop/a.pdf' https://www.yahoo.co.jp

--headless オプションと併せて設定するととても便利です。

$ chrome  --headless --print-to-pdf='/Users/takuya/Desktop/a.pdf' https://www.yahoo.co.jp

コマンド引数

コマンドは次のようにするだけです。

chrome  --headless --print-to-pdf='path.to.file'  URL

とても簡単で、Chromeさえアレばどこでも使えるので、たとえばMarkdownー>HTMLー>PDFにするときなどに活躍しそうですね。

2017-06-27 追記

もし、それでも印刷できない場合はどうするのか?

解決策がある

幾つか解決策があります。

ひとつは、base タグの利用、もう一つが contentEditableの利用

base タグを使えば保存したHTMLでもドメインやPATHを固定できるのでそれを使うと殆どの場合解決する

それでも駄目なら、ContentEditableを有効にして、HTMLのほしい場所をクリップボードに送ってHTMLのスタイル付きで持ってくればいい。