2012年

1月

10日

[レシピ] Field Reportsではがきの宛名印刷

Field Reports 1.4を使って,はがきの宛名印刷を行います。

テンプレートの準備

まずは,はがきの下絵を作成します。

 

今回はLibreOfficeのDrawを使って,郵便番号の文字枠を官製はがきの規格通りに正確に配置しました。

この文字枠は,フィールドを配置する際のガイドとして利用します。

 

「PDFとしてエクスポート…」により,PDFに変換します。

LibreOfficeで下絵を作成
LibreOfficeで下絵を作成

次に,Adobe Acrobatで作成したPDFを開いて,テキストをはめ込む位置にテキストフィールドを配置していきます。

 

郵便番号フィールドは,Drawで配置した文字枠を頼りに配置します。

郵便番号の上3桁と下4桁では文字間ピッチが異なるので,二つに分けました。

フィールドの配置が終わったら,Drawで配置した文字枠は「TouchUp オブジェクトツール」で削除しておきます。

Acrobatでテンプレートを作成
Acrobatでテンプレートを作成

パラメータの作成

template要素

template要素では,作成したPDFテンプレート・ファイルへのパスを指定します。

 

テンプレートの名前(辞書のキー)が“*”となっていますが,これで“atena.pdf”を連続帳票として扱うことを指示しています。

対応するcontext要素の数に応じて必要なページが自動的に生成されます。

context要素

context要素では,PDFをテンプレートのフィールド名を辞書のキーに,フィールドに設定するデータを辞書の値とした辞書要素を列挙します。

 

テンプレート名“*”に対応するレベルの要素がリスト(配列)になっていますので,この部分には「0, 1, 2, …」というフィールド名が自動的に付けられます。したがって,最初のページの郵便番号上3桁のフィールドの正式名称は「0.post1」となります。

style要素

style要素では,動的に変更したいフィールド属性やAcrobatでは設定できない属性を指定します。

 

最初の

 

{"*": {"font": "/KozGo-Medium", "translation": [0, 1]}},

 

では,全フィールドに共通する設定を行います。

“translation”は相対座標によりフィールドの位置を変更するための属性ですが,後で印刷位置の微調整を行うために置いています。

 

郵便番号フィールドでは,「均等割付」を指定しさらに左右のパディングを指定することで,文字枠にピタリと収まるように微調整しています。

 

送付元の住所氏名を記入する“sender”フィールドの値は各ページ同じで共通なので,style要素で指定しています。

context要素で,各ページで繰り返し同じ値を設定しても構いません。

 

// atena.json
{
    "template": [
        {"*": "./atena.pdf"}
    ],

    "context": [
        {
            "post1": "060",
            "post2": "8588",
            "address1": "北海道 札幌市中央区 北3条西6",
            "address2": "",
            "company": "北海道庁",
            "title": "北海道知事",
            "name": "高橋はるみ様"
        },
        {
            "post1": "030",
            "post2": "8570",
            "address1": "青森県 青森市 長島1-1-1",
            "address2": "",
            "company": "青森県庁",
            "title": "青森県知事",
            "name": "三村申吾様"
        }
    ],

    "style": [
        {"*": {"font": "/KozGo-Medium", "translation": [0, 1]}},
        {"*.post1": {"text-align": "Justify", "padding": [5, 0, 5, 0]}},
        {"*.post2": {"text-align": "Justify", "padding": [5, 0, 5, 0]}},
        {"*.sender": {"value": "〒163-8001\n東京都 新宿区 西新宿2-8-1\n東京都知事 石原慎太郎"}}
    ]
}

実行結果

コマンドライン版 Field Reports Standard を実行して,PDF帳票を作成します。

 

$ reports create album.json out.pdf

 

生成されたPDFをPDFビューアで開いて,用紙サイズに「はがき」を選択して印刷すれば宛名印刷ができます。

プリンタの特性によって印刷位置がずれる場合は,“translation”で微調整してください。

実行結果
実行結果
作成したファイル
実行には,Field Reports Standardが必要です。
atena.zip
圧縮Zipフォーマット 20.1 KB