Docurain Labo

Docurainサービス開発日記

DocurainはWord形式のテンプレートでも帳票出力が可能になります

近日公開予定の新機能です。DocurainはExcelを帳票デザインに使用することができる帳票出力サービスですが、この度Word形式のテンプレートでも帳票出力が可能になりました。

最初に実装された機能は、プレースホルダにデータを差し込み、 PDF / Word (docx) / SVG / その他画像形式で出力するというものです。

今回は機能を使って見るために、以下のような簡単な契約書のようなものを作成してみました。

f:id:withpop:20190805152952p:plain

動的に値を差し込む部分には %{date} のようにプレースホルダを記述しておきます。スタイルが適用されていてもそれが保持されたまま出力されることを確かめるために、書面下部にある住所氏名などの欄は適当にスタイルを適用させています。

また、これは1ページのみですが、もちろん複数にまたがるような文書も出力可能です。

差し込むデータはExcelテンプレートを使用するときと同じように、任意の形式のJSONとして記述します。今回は以下のようなデータを使用してみます。

{
    "date": "令和1年8月1日",
    "contractor": {
        "address": "東京都 新浜区 風の谷 12丁目34",
        "name": "猫丸商事",
        "representativeName": "多摩 三毛太郎"
    },
    "orderer": {
        "address": "東京都 勝節市 崖の上 2丁目3-1 10F",
        "name": "株式会社 ピッコロ",
        "representativeName": "紅豚 三郎"
    },
    "content": [
        "猫じゃらしにじゃれつく",
        "愛想をふりまく",
        "頭を撫でさせる"
    ],
    "payDateLimit": "当日の業務終了",
    "fee": "カリカリ1日分",
    "courtName": "勝節市動物愛護センター"
}

以上のWord文書とJSONデータを使用してPDF出力用のAPIを叩くと…

f:id:withpop:20190805154004p:plain

こういった感じでPDFのデータがレスポンスとして返ってきます。

罫線や表で構成されるいわゆる「帳票」はエディタがグリッドで構成されるExcelと相性が良いのですが、Excelで一般的な「文書」を使うのは不可能ではないものの使いづらいシーンがあります。

具体的には、Docurainではこれまでも契約書の類を出力されるような用途で使われることがありました。契約書を書くのにExcelを使うというのは、不可能ではないものの普通は正当な文書作成ソフトであるWordを使いたいですよね。今回、Word文書をテンプレートに使用できるようになることで、より広いシーンでDocurainが便利に使えるようになるはずです。