『XSL-FOの基礎』は初版は2016年5月に初版をリリースしましたが、今回は大幅に改訂して第2版となります。改訂の一部として、多くの画像をラスターからベクトル(SVG形式)に変更しました。以下、このことを少し説明します。
本書にはXSL-FOのオブジェクトとプロパティの説明の一部として組版結果の紹介をしています。例えば、こんな感じです。
組版結果はPDFです。初版では、組版結果の多くはPDFを表示して画像スクリーンキャプチャしていました。最初のうち原稿をWordで書いていましたので、スクリーンから切り取ってWordに貼り付けていたものもあります。原稿のWord文書をCAS-UBで取り込んだとき、このラスター画像もCAS-UBに取り込まれます。途中からはCAS-UBで原稿を直接書いて編集しましたので、スクリーンをキャプチャしてPNGファイルとして取り込んだものもあります。初版の画像制作は、主に次のようなフローになります。
こうした画像を画面で見ている限りでは、それほど見栄えに差がないのですが、プリントオンデマンドで紙に出力しますと画像の品質の差が歴然となります。Wordに貼り付けて(CAS-UBのWordインポートで)CAS-UBに取り込んだ画像は品質が非常に悪くなります。一方、PNGファイルをCAS-UBに取り込むときは、印刷したときの画像の品質はPNGの精度(ピクセル数)次第です。特に、文字がはいっているような画像は品質が低いと問題があります。
ということで第2版ではできるだけPDFからベクトル画像(SVG)を作ることにしました。SVGを作る方法はいろいろあると思いますが。今回は自社開発のPDFビューアのSVG切り出し機能を使いました[PDF加工画像化ツール]。この操作は次のようになります。
SVGにした画像はPNG形式も用意しています。PDF生成時はSVG形式を使い、EPUB生成時にはPNGに差し替えるようにしました。残念ながらKindleではSVGを正しく表示できないことがあるためです。
複数の画像ファイルを用意しておき、出力形式によって画像を使い分ける機能はCAS-UBのWeb制作サービスの中に取り込んでいきたいものです。これは次のバージョンアップの課題の一つといたします。
参考資料
1. 技術書典2と『PDFインフラストラクチャ解説』第1.1版、『XSL-FOの基礎 第二版』のご紹介
2. 『XSL-FO の基礎 – XML を組版するためのレイアウト仕様』
3.Wordに埋め込まれたイメージ画像の解像度はどうなるか?
4. Office Server Document Converter Word文書(docx文書)に埋め込まれたイメージ画像はどのように扱われているか
5. Wordに埋め込まれたイメージ画像の解像度はどうなるか? Word2019の場合