Docurain Labo

Docurainサービス開発日記

カスタムサイズの用紙を指定できるようになりました

商業印刷では裁ち落としのために標準サイズよりも数mm大きなサイズの用紙に印刷する必要がよくあります。

しかしDocurainから出力した帳票は、今までは標準的なサイズ(A判、B判など)でしか出力出来ませんでした。しかし今回のアップデートでPDF出力を行う場合に、標準の用紙サイズ以外のカスタムサイズを指定できるようになりました!

ちなみに、カスタム用紙サイズを出力できないというのはExcelの仕様によるものです。DocurainはExcelをテンプレートとして用いるため、必然的にExcelの仕様の制約を受けます。Excelではアプリ上でカスタム用紙サイズをサポートしていないんですよね…。WordやPower Pointでは出来るのですが。

そういった背景もあり、今回対応するカスタム用紙サイズ機能もPDF出力の場合のみの対応になります。

指定方法は、「PDFとExcelのセキュリティ関連機能が追加されました」で紹介した #PDF_PROPERTY を使用します。

具体的には、

#PDF_PROPERTY("print.media.width=310,print.media.height=220")

のように、幅と高さを指定します(単位はmm)。

今回作成したサンプル帳票はこちらからダウンロードできます。

サンプル帳票には上記で指定した #PDF_PROPERTY("print.media.width=310,print.media.height=220") がそのまま指定されています。A4(210 x 297)よりも1cmほど大きいサイズを指定してみました。※横向きの帳票なので縦横は逆になっています。

これでPDF形式で帳票を出力してみます。下記のような帳票(車検証)が出力されます。

f:id:withpop:20200409165701p:plain

見ただけでは指定したサイズになっているかどうか分かりませんね…。

Acrobat Readerから用紙サイズを確認してみます。

f:id:withpop:20200409165448p:plain

ページサイズが指定した通りになっていますね。

ここで、注意点がいくつかあります。

1つ目は、この機能は前述したように裁ち落としを含めた少し大きいサイズの用紙で印刷することを想定しています。Excelの印刷設定で指定した用紙よりも小さいサイズを指定することは出来ません(そのような指定は無視されます)。

2つ目は、コンテンツの位置です。PDF内のコンテンツ(テキストや罫線、画像など)は上下左右中央に位置するよう調整されます。つまり、縦横それぞれ10mmずつ大きいサイズを指定した場合は、上下左右にそれぞれ5mmずつの余白が出来ます。これを見越してレイアウトを行って下さい。

3つ目は、余白についてです。Excelの印刷設定でも余白(とヘッダー・フッター)のサイズは指定できますが、最終的に表示される余白はExcel上で指定した余白に用紙サイズが伸びた分が加算されます。これは若干分かりにくいので、Excel上で余白設定をすべてゼロで指定しておくことをおすすめします(こうすればサイズを大きくした分がそのまま余白となる)。

今回作成したサンプル帳票は、こちらのページからも登録不要で試してみることが出来ますので、気になったらぜひ試してみて下さい。