Features of New Version/ Field Reports 2.0版の新機能

組版エンジンを刷新し,Field Reportsがパワーアップしました。

リッチテキスト(Professional版)

Field Reports 2.0では,PDF1.5版より追加された”Rich Text Strings”仕様をベースとして,独自のXML文書を定義しています。

「リッチテキスト」を利用する事で,文字単位でスタイルを指定したり,テキストにルビを振るなど,高度な自動組版が可能になります。

スタイル指定

文字単位でスタイル指定ができます。

これにより,テキストの途中でフォントやフォントサイズ,塗りつぶし色等を切り替えることが可能になりました。

  • フォント
  • フォントサイズ
  • テキスト塗りつぶし色
  • フォント縁取り線幅・色
  • 背景色
  • フォント縦横比(長体・平体)
  • 文字間・単語間スペース

独自追加要素

Field Reports 2.0で独自に追加したXML要素により,テキストにルビを振ったり,文中に画像や図形要素を埋め込むことが可能となりました。

  • ルビ要素(ruby, rt)
  • 画像要素(img)
  • 図形要素(shape)

使用例

以下に,リッチテキストを利用したレンダリングバラメーター(JSON 形式)の記述例を示します。

{
    "resources": {
        "font": {
            "HiraMinPro-W6": {
                "src": "../fonts/HiraMin_Pro_W6.otf",
                "embed": true,
                "subset": true
            },
            "HiraMaruPro-W4": {
                "src": "../fonts/HiraMaruGo_Pro_W4.otf"
            }
        }
    },
    "template": {
        "paper": "A4"
    },
    "context": {
        "text": {
            "new": "Tx",
            "richtext": true,
            "font": "HiraMinPro-W6",
            "font-size": 12,
            "font-stretch": 1,
            "value":  "<body><p>春は、<span style='font:HiraMaruPro-W4;font-size:18;color:cmyk(0,0.5,0.5,0);'>あけぼの</span>。やうやう白くなりゆく山ぎは少し明りて<span style='background-color:fuchsia;'>紫だちたる雲</span>の細くたなびきたる。</p> (中略) </body>",
            "multiline": true,
            "text-align": "Justify",
            "vertical-align": "Top",
            "line-height": 1.2,
            "padding": 4,
            "rect": [100, 680, 400, 800]
        }
    }
}

可変テーブル

コンテンツの量に合わせて,行数や行の高さが可変のテーブルを作成できます。

連続帳票形式とすることで,複数ページにまたがるテーブルも作成できます。

使用例

以下に,可変テーブルを利用したレンダリングバラメーター(JSON 形式)の記述例を示します。

{
    "resources": {
        "font": {
            "meiryo": {
                "src": "../fonts/meiryo.ttc",
                "embed": true,
                "subset": true
            }
        }
    },
    "template": {"paper": "A4"},
    "context": {
        "table": {
            "new": "Tbl",
            "font": "meiryo",
            "font-size": 10,
            "rect": [55, 383, 380, 661],
            "vertical-align": "Middle",
            "multiline": true,
            "column-widths": ["20%", "30%", "10%", "20%", "20%"],
            "cell-padding": 2,
            "border": {"width": 2, "color": "Blue"},
            "border-rows": {"width": 0.5, "color": "Silver"},
            "border-columns": {"width": 0.5, "style": "Dashed", "dash": [2]},
            "border-header": {"width": 1, "color": "Blue"},
            "border-footer": {"width": 1, "color": "Blue"},
            "header": [
                ["商品コード", { "value": "品名" }, "数量", "単価", "金額"]
            ],
            "body": [
                ["1002", "マスカット・オブ・アレキサンドリア", "2", 10000, 200000],
                ["1003", "トマト", "3", 10000, 400000, 9999],
                ["1004", "すいか", "4", 10000, 400000, 9999],
                ["1005", "キャベツ", "5", 10000, 500000],
                ["1006", "レタス", "1", 10000, 100000],
                ["1007", "なす", "2", 10000, 200000],
                ["1008", "きゅうり", "3", 10000, 300000],
                ["1009", "大葉", "4", 10000, 400000],
                ["1010", "バジル", "5", 10000, 500000],
                ["1011", "パセリ", "1", 10000, 100000]
            ],
            "footer": [
                ["", "", "", "小計", 999999],
                ["", "", "", "消費税等", 999899],
                ["", "", "", "合計", 999999]
            ]
         }
    },
    "style": [
        {"table.header.*.*": {"text-align": "Center", "vertical-align": "Middle"}},
        {"table.body.*.[2:]": {"text-align": "Right", "format": "#,#"}},
        {"table.footer.*.[3]": {"multiline": false, "text-align": "Justify"}},
        {"table.footer.*.[4]": {"text-align": "Right", "format": "#,#"}}
    ]
}

図形要素

SVG サブセット形式で,ベクトル図形を記述できます。

リッチテキストと組み合わせれば,テキストの中に任意の図形を埋め込むことが可能になります。

使用例

以下に,図形要素を利用したレンダリングバラメーター(JSON 形式)の記述例を示します。

{
    "template": { "paper": "A4" },
    "context": {
        "polygon": {
            "new": "Fig",
            "rect": ["110mm", "110mm", "190mm", "190mm"],
            "view-box": [0, 0, 100, 100],
            "shape": "<polygon points='15,10 55,10 45,20 5,20' style='fill:red; stroke:black;'/><polygon points='35,37.5 37.9,46.1 46.9,46.1 39.7,51.5 42.3,60.1 35,55 27.7,60.1 30.3,51.5 23.1,46.1 32.1,46.1' style='fill:#ccffcc; stroke:green;'/><polygon points='60 60 65 72 80 60 90 90 72 80 72 85 50 95' style='fill:yellow; stroke:black;'/>"
        }
    }
}

Field Reports試用版は下記ページよりダウンロードしてください。