adbird(広告鳥) 備忘録

decktapeを使って、reveal.js のスライドを PDF に変換する方法

decktape: PDF exporter for HTML presentations

nodejs、npm の最新版をインストールする

apt で入る nodejs、npm は古いものらしいので、新しいものを入れる。

1.とりあえず古くてもよいのでnpmが必要なためインストール

$ sudo apt install nodejs npm

2.n をインストール

$ sudo npm install -g n

3.n を使って 推奨版(LTS版)にする。

$ sudo n lts

もし、最新版にしたいのであれば、

$ sudo n latest

4.古いほうのnodejs、npmはアンインストールする

$ sudo apt purge nodejs npm
$ sudo apt autoremove

端末を閉じて、一旦終了させる。

decktape をインストール

$ npm install -g decktape

npm install -g xxxでパッケージをインストールしようとすると、権限絡みのエラー(permission denied)が出る場合

ホームディレクトリにグローバルインストール用のディレクトリを作成

$ mkdir ~/.npm-global

新しいディレクトリパスを使用するようにnpmを構成

$ npm config set prefix '~/.npm-global'

任意のテキストエディタで、~/.profileファイルを開いて次の行を追加

# nmpのグローバルインストール用のディレクトリにパスを通す
PATH="$HOME/.npm-global/bin:$PATH"

更新

$ source ~/.profile

PCを再起動。

再度、

$ npm install -g decktape

でインストール。

$ decktape -h

で確認。

decktape でスライドをPDFに変換。

$ decktape --size 1123x794 入力.html 出力.pdf

私のある環境では、--size 1123x794 でPDFがA4横置きになった。たぶんPC環境によって入れる数値が変わる?

追記:私のある環境では、1400x900 に指定すると、いい感じに収まる。

decktape のアップデート

$ npm outdated --global

でインストールされている、更新が必要なnpmパッケージが全て表示される。

もし、リストに表示された、decktapeを含む全てのパッケージをアップロードするなら、

$ npm update --global 

最新のバージョンにアップデートされたのかを確認。

$ npm list --depth=0 -g decktape

参考