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のスタイル付きで持ってくればいい。