EPUBからのPDF生成用としてVivliostyle CLIを導入した

 EPUB制作時の校正用PDF生成目的でVivliostyle Viewerをローカルマシン内にサーバ起動する形で使ってきたのですが(参考)、先日ブラウザからのPDF出力で白紙ページが大量に入ってしまうChromeのバグを踏んでしまい、いい機会だったのでVivliostyle開発者の村上(@MurakamiShinyu)さんに助言をいただいて、上記参考先のコードを書いたときにはまだ無かったローカル環境向けのVivliostyle CLIに切り替えましたのでメモを残しておきます。環境はmacOS13.6です。

Vivliostyle CLIの環境構築

 まず、node.jsを入れます(参考)。homebrewは入っていることが前提です。ターミナルで

これだけ。

でnodeのバージョンが表示されればOKです。

 次にVivliostyle CLIを入れます。同じくターミナルで

これだけです。

Perl経由で自動化

 これを従来同様にPerlで実行できるようにしたのが以下のコード。

 ノンブル表示、見開き指定などのための追加CSSは –style オプションを使って外部ファイルを読み込む形としました。その方が修正もしやすいし(追加CSSの参考例はVivliostyle CLIのオンラインマニュアル内にある)。「vivliostyle preview」を指定しているので、Chromiumブラウザが起動してページが表示されます。あとはこれまで通り印刷ウィンドウでPDFを保存を選択して出力するだけです。だいぶ簡単になりましたね。
 なお、その後Chrome側でバグが修正されたとのことなので今は古い方のスクリプトでも問題なくPDF生成はできるようです。

(2023.12.14)

タグ: ,

コメントをどうぞ

プロフィール
Jun Tajima

こちらにて、電子書籍&Web制作を担当しています。
このブログは、EPUB3をはじめとした電子書籍制作担当オペレータからの、「電子書籍の制作時にたとえばこんな問題が出てきていますよ」的な「現地レポート」です。少しでも早い段階で快適な電子書籍閲覧・制作環境が整うことを願って、現場からの声を発信していこうと目論んでおります。

当ブログ内の記事・資料は、私の所属しております組織の許諾を得て掲載していますが、内容は私個人の見解に基づくものであり、所属する組織の見解を代表するものではありません。また、本ブログの情報・ツールを利用したことにより、直接的あるいは間接的に損害や債務が発生した場合でも、私および私の所属する組織は一切の責任を負いかねます。