今週末 いよいよ技術書典4開催!

今週の日曜日(4月20日)はいよいよ技術書典4です。さあ! 技術書典の準備をしよう。

技術書典4
サークル詳細 | アンテナハウスCAS電子出版

初回の技術書典は好天でしたが、第2回・第3回は大雨で、技術書典といえば雨という記憶が残っています。天気予報では日曜日は晴れのようです。

主な出品書籍

PDF CookBook 『PDF CookBook』は、PDFを企業向けのシステムで編集したり、加工したりする方法を紹介する、いわば、PDFをメイン素材とする料理本です。
タグ付きPDF 仕組と制作方法解説 タグ付きPDFとは、内部に文書構造を埋め込んだPDFのことです。PDFをコンピュータで読み上げたり、PDF内のデータをオフィスアプリやWebページなどに再利用したりするときに有効です。
PDFインフラストラクチャ解説 第1.1版 PDFについての解説と最新情報を網羅。PDFの基本的な知識から専門的な情報まで一通り述べています。
MathML数式組版入門Ver1.1 数式記述言語MathMLを使って数式組版を行うためのガイドです。これからMathMLを学習する方も、Web上のサンプルをコピー&ペーストしてなんとなく使っていた方も、この一冊でMathMLの基本がよく分かる構成になっています。
XSL-FOの基礎【第2版】 XSL-FO(Extensible Stylesheet Language)は、XML を印刷するためのレイアウト指定用標準言語の一つです。本書では主として XSL-FOプロセサを利用する人を想定し、XSL-FO 仕様の要点を図やサンプルを使って解説しました。

アンテナハウス PDF/XML関連技術書POD版直販
アンテナハウス書籍・総合目録 プリントオンデマンド出版と電子出版

PDFのページの境界の意味、境界の再設定で余白を増やす

以前に、PDFの余白について次のような質問をいただいていました。

「基幹系システムが自動生成するPDFの帳票の左余白が不足しているため、生成されたPDF内の文書を自動的にたとえば右にシフトするなど、余白変更をバッチ処理的に行うことができる製品はありますか」

アンテナハウス・システム製品ナビゲータ 3. PDFデータ利用・PDFの編集

この質問に対する回答は、「いまの製品ではできません。開発課題とさせていただきます。」となっています(2018/3/23現在)。

しかし、現在作成している『PDFクックブック』(仮称)という本のサンプルをいろいろ作っていながら、「あ!できるじゃん」と思い当たりました。

PDF Tool API V5には、PDFの境界を設定する機能があります。

・setMediaBox メディアボックスを設定する
・setCropBox クロップボックスを設定する

メディアボックスとはPDF を印刷する媒体の物理的な境界です。最も外側の領域であり、内側にできあがりの判型の周囲にとられる裁ち落とし領域やトンボなども含みます。PDFの仕様としてメディアボックスの外側にあるオブジェクトは無視されます。

クロップボックスとは、出力媒体の上でPDF の内容を表示するユーザー空間の矩形領域を定義します。物理的な媒体とは対応付けられていません。デフォルト値はMediaBoxです。

PDFの座標系はx軸、y軸とも無限の長さを持っていて、原点 (0,0)の位置をどこに置いても構いません。回転していないPDFでは、メディアボックスやクロップボックスは左下角(x0,y0)と右上角(x1,y1)の座標により[x0 y0 x1 y1]と表現します。

メディアボックス・クロップボックスを左(x軸)にaだけシフトするには、次のように座標値を変更します。
[x0-a y0 x1-a y1]

『PDFクックブック』に掲載予定のサンプルプログラムで実際に試して見ます。
次のように設定します。


※このサンプルプログラムは一度に1つの境界値しか変更できません。サンプルなので不便ですが。

そうしますと変更前のPDFの本分領域:

が、変更後のPDFの本分領域:

となります。PDF Tool API V5でできてしまうんですね。

『PDFクックブック』初版は、4月22日開催の技術書典4にて販売する予定です。しばらくお待ちください。

本書はもちろんCAS-UBで制作しています。

ご参考:PDF Tool API V5