(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【R言語/Linux】コマンドでHTMLファイルをPDFファイルに変換する流れ

スポンサーリンク

はじめに

Rでワードクラウドを利用するライブラリである”wordcloud2”を用いた際にサーバサイドで実行したため以下のエラーとなりました。

> wordcloud2(demoFreq)
> Couldn't find a suitable web browser!
Set the BROWSER environment variable to your desired browser.
Warning: program returned non-zero exit code #1
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: www-browser: not found
..
xdg-open: no method available for opening '/tmp/Rtmp12adjT/viewhtml1efc2cec57ce/index.html'

一方でPDFであれば利用できる環境であったため、今回はRスクリプトの中で同HTMLをPDFに変換する流れを実施したメモが本記事です。

環境情報
# R --version
R version 3.3.3 (2017-03-06) -- "Another Canoe"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

インストール作業

HTMLが格納されたオブジェクトhogeに対して以下を実施してHTMLファイルにするべく

> saveWidget(hoge,"hoge.html",selfcontained = F)

パッケージをインストールします。

> install.packages('htmlwidgets')

そしてそのHTMLファイルをPDFにするために以下を行いたいので

> webshot("hoge.html","hoge.pdf", delay =5, vwidth = 480, vheight=480)

パッケージをインストールします。

> install.packages("webshot")

そして最後に同ライブラリを利用するためにさらに追加インストールを行えば

> webshot::install_phantomjs()

同コマンドがインストールされました。

phantomjs has been installed to /root/bin

実施

全ライブラリの準備が整えばそれぞれを読み込んだ上で以下でHTMLファイルを生成します。

> saveWidget(hoge,"hoge.html",selfcontained = F)

すると実際にカレントディレクトリにファイルが生成されるので

# file hoge.html
hoge.html: HTML document, ASCII text, with very long lines

以下でPDFを生成すれば

> webshot(”hoge.html","hoge.pdf", delay =5, vwidth = 480, vheight=480)

目当てのファイルが作成されました。

# hoge.pdf
hoge.pdf: PDF document, version 1.4

終わりに

R言語はHTMLファイルが格納されたオブジェクトを標準出力に出そうとすると以下エラーで

> Couldn't find a suitable web browser!
Set the BROWSER environment variable to your desired browser.

止まってしまい、肝心のファイルが見れません。よって本記事ではPDFにする流れについて記載しました。

ご参考になれば幸いです。