Docurain Labo

Docurainサービス開発日記

PDFマージ機能を使って精密な帳票を作成しましょう

Docurainの得意な帳票として、納品書や請求書はもちろんのこと、商業印刷にも耐えられるような厳密なサイズで決められた帳票作成も可能です。この記事ではそれを担うPDFマージ機能について解説します。

PDFマージ機能の使い方

PDFマージ機能は主に2つの機能があります。

  1. ページをマージする
  2. 別PDFファイルをマージする

それぞれについて解説します。

ページをマージする

PDFマージ用の関数は次のように使います。

#PDF_OVERLAY_PAGE([0, [1,2], 3])

上の例の場合、1ページ目と4ページ目はそのままPDF化されます(配列のインデックスなのでページ番号 - 1 になります)。そして、2ページ目と3ページ目がマージされて、1つのページになります。

マージ処理については、空白部分がもう片方のページ内容に置き換わると考えてください。

使いどころ

それぞれデータが明細データが複数件存在し、高さが可変だとします。Docurainでは同ページ内、同じ水平ラインでの異なる配列をループ処理させられません。そこで左右に分割した上で別なページとして処理を行い、できあがったページをマージすることで1ページに仕上げられます。

デモ

PDF_OVERLAY_PAGE を指定せずに実行すると、左半分と右半分がそれぞれ1ページずつに分かれて生成されます。

PDF_OVERLAY_PAGE([[0, 1]]) のように結合条件を指定することで、1ページのPDFになります。

別PDFファイルをマージする

たとえば全ページにトンボ(印刷時に用いる裁断箇所の指定)を付けたい場合、位置を厳密に指定する必要があります。このような処理を動的に高さが変化する帳票において、計算するのは困難です。

そこで別途作成しておいたPDFを帳票にマージする機能があります。

Zipファイルを用意する

まず適当なフォルダを作成します。その中にテンプレートになるExcelファイルと、 .docurain というフォルダになります。

その .docurain フォルダの中に、以下のPDFファイルを保存します。

  • overlay.pdf
    オーバーレイ表示させるPDFファイル
  • underlay.pdf
    アンダーレイ表示させるPDFファイル

overlay.pdf、underlay.pdfのいずれかは必須です。そして、このテンプレートファイルと .docurain フォルダをZip圧縮します(その上のフォルダではありません)。Zip圧縮したファイル(template.zipなど)をDocurainのテンプレートファイルとして指定します。

これで共通のコンテンツをPDF上に出力できます。以下は社外秘スタンプを記載したunderlay.pdfをマージした例です。

注意点

PDFマージの注意点は幾つかあります。

  • オーバーレイ、アンダーレイの機能はオプション扱いとなり、標準では利用できません。別途契約が必要です。詳しくはお問い合わせ下さい。
  • Zipファイルを指定するAPI呼び出しはURLが異なります(上記オプションを契約されたクライアント様のみ公開しております)。
  • PDF出力に対してのみ有効です。Excelファイルなどへの出力では適用されません。

まとめ

Docurainを使えば精密、かつ高いカスタマイズ性を持った帳票も作成できます。その際、PDFオーバーレイを使うことで、複雑な要件にも柔軟に対応できるでしょう。

PDFマージについては非公開(アンドキュメント)な機能もありますので、利用されたい場合にはお問い合わせをお願いします。