研究 → プリントテンプレート機能

プリントテンプレート機能

TAUArtArchiver プリントテンプレート機能

概要

TAUArtArchiver(バージョン 2.0.0 以上)は、雛形となる PDF にカードの内容を埋め込んで、新しい PDF を生成する、プリントテンプレート機能を搭載しています。

雛形となる PDF は、Adobe Illustrator や Affinity Designer などの汎用的なベクター編集ソフトウェアや、Keynote や PowerPoint などのスライド作成ソフトウェアなどを用いて、任意のデザインやサイズで作成することができます。

カードの内容を埋め込みたい箇所を矩形で囲い、展開する項目を以下で解説する書式に従って、雛形となる PDF に記述します。

雛形となる PDF が完成したら TAUArtArchiver に登録することで、プリントテンプレート機能から利用することができるようになります。


書式概要

プリントテンプレート機能では、カードの内容を埋め込みたい場所に矩形を配置し、その中にスクリプトを記述します。展開される文字や画像は、矩形の範囲内で整形され埋め込まれます。

スクリプトは、%{ で始まり }% で終わり、リテラル以外の空白や改行は無視されます。

※() は省略可能を表す
※… は繰り返し可能を表す


リテラル

リテラルは " で始まり " で終わる、カードの内容として展開されずに直接埋め込まれる文字列です。

下記のスクリプトは「name: 多摩美」のように展開されます。

"name: "name

リテラル中に " や改行を含むときには、エスケープが必要となります。

下記のスクリプトは「"設計・開発"」のように展開されます。

"\""role"\""

セクション

カードの内容のうち展開したいセクション名を表します。セクション名はあらかじめ定義された予約語のユーザコード名を使って指定します。


[キー項目=値, …]

表形式セクションにおいて、指定した項目の内容が指定した値のいずれかに一致する行に限定します。

キー項目は1つだけ指定することができ、キー項目名はあらかじめ定義された予約語のユーザコード名を使って指定します。

値は複数指定することができ、* を記述することで任意の文字列との一致を表すことができます。

行番号を同時に指定している場合は、キー項目によって限定された行に対して行番号を適応します。

省略時の動作は、キー項目による限定をおこないません。

基本形

[キー項目="値"]

複数の値のいずれかに一致

[キー項目="値1","値2","値3"]

値1で始まるもの

[キー項目="値1"*]

※"値1*" ではありません

値1で終わるもの

[キー項目=*"値1"]

値1を含むもの

[キー項目=*"値1"*]

値1を含み値2で終わるもの

[キー項目=*"値1"*"値2"]

具体例

%{artist[role="作者","作家",*"協力"*]=name}%

表形式セクション以外のセクションでは指定することができません。


[行番号, …]

表形式セクションにおいて、指定した行番号に一致する行に限定します。

行番号は0から始まる整数で記述し、複数指定することができます。

キー項目を同時に指定している場合は、キー項目によって限定された行に対して行番号を適応します。

省略時の動作は、行番号による限定をおこないません。

最初の行

[0]

複数の行

[0,2,4]

具体例

%{artist[0]=name}%

表形式セクション以外のセクションでは指定することができません。


視覚式

文字の自動改行やはみ出し、画像の拡大縮小や位置揃えなど視覚的なデザインを指定します。

表形式セクションなど出力が複数の行を含むときは、接続詞を使い文字のみで構成された行を連結したり、割り付け式を使って文字や画像から構成される行の内容を矩形の中に分割して割り付けることができます。

※() は省略可能を表す
※| はいずれかを表す
※… は繰り返し可能を表す

具体例

%{image/<HL~VT+[2]4H2;1H1=[self]attachment;self}%

打ち切りページ

現在のバージョンでは未実装

リピート

現在のバージョンでは未実装

画像拡縮

サムネイルイメージなどの画像を拡大縮小します。

省略時の動作は、矩形よりも大きいときに内接するように縮小します。

オプション 意味
指定なし 矩形よりも大きいときに内接するように縮小
< 矩形に内接するように拡大縮小
> 矩形に外接するように拡大縮小

具体例

%{thumbnail/<}%

画像水平揃え

サムネイルイメージなどの画像の水平方向の位置揃えを指定します。

省略時の動作は、矩形の中央に揃えます。

オプション 意味
指定なし 矩形の中央
L 矩形の左端
R 矩形の右端

具体例

%{thumbnail/>HL}%

行折り返し

長い文字列の矩形の中での自動改行や矩形からの水平方向のはみ出しを指定します。

省略時の動作は、矩形でクリッピングします。

オプション 意味
指定なし 矩形でクリッピング
+ 矩形からの水平方向のはみ出しを許可
~ 矩形からはみ出さないように自動改行

具体例

%{title/H~=title}%

画像垂直揃え

サムネイルイメージなどの画像の垂直方向の位置揃えを指定します。

省略時の動作は、矩形の中央に揃えます。

オプション 意味
指定なし 矩形の中央
T 矩形の上端
B 矩形の下端

具体例

%{thumbnail/>VT}%

行はみ出し

長い文字列の矩形からの垂直方向のはみ出しを指定します。

省略時の動作は、矩形でクリッピングします。

オプション 意味
指定なし 矩形でクリッピング
+ 矩形からの垂直方向のはみ出しを許可

具体例

%{title/V+=title}%

接続詞

表形式セクションなど出力が複数の行を含むときに、文字のみで構成された行を連結するための接続詞をリテラルで指定します。

省略時の動作は、それぞれの行を改行で連結します。

具体例

%{date/", "=begin" ~ "end}%

接続詞と割り付け式を同時に指定することはできません。

割り付け式; …

表形式セクションなど出力が複数の行を含むときに、文字や画像から構成される行の内容を割り付ける矩形の分割方法を指定します。

割り付け式は複数記述することができ、先頭から優先的に順番に処理されます。

省略時の動作は、矩形を分割しません(1H1 または 1V1 と等価)。

※() は省略可能を表す

具体例

%{image/<[2]2H2MX5mmY2.5mm;1H1=attachment}%

割り付け式と接続詞を同時に指定することはできません。


有効化行数

割り付けが有効となる最小の行数を0以上の整数で指定します。

省略時の動作は、常に有効として評価されます。

水平分割数

水平方向の矩形の分割数を1以上の整数で指定します。

配置方向

分割された矩形に行の内容を配置するときの配置順序を指定します。

水平方向に左上から右下、もしくは、垂直方向に左上から右下から選択することができます。

オプション 意味
H 水平方向に左上から右下
V 垂直方向に左上から右下

垂直分割数

垂直方向の矩形の分割数を1以上の整数で指定します。

余白

分割された矩形間の余白を実数で指定します。

X 方向と Y 方向をまとめて指定する方法と、それぞれを個別に指定する方法で書式が異なります。

余白は単位を指定することができます。

省略時の動作は、余白なしです。

まとめて指定

M5mm

個別に指定

MX5mmY2.5mm
単位

余白の単位を指定します。

省略時の動作は、ポイントとして評価します。

オプション 意味
指定なし ポイント
pt ポイント
px ピクセル
mm ミリ
cm センチ

条件式; …

セクションで指定されたカードの内容を展開するときの、詳細条件を指定します。

条件式は複数記述することができ、先頭から優先的に順番に処理されます。

判定項目を設定すると、項目の内容に応じて、続くスクリプトを処理するかどうかを条件分岐させることができます。判定項目は複数指定することができ、論理積としてあつかわれ、判定条件を指定することにより一部の条件を反転させることもできます。真偽値型では真偽値がそのまま評価にもちいられ、整数型実数型では0よりも大きいとき、文字列型では1文字以上のときに真として評価されます。

値形式セクションでは、self をもちいてセクション自身を表すことができ、選択肢形式セクション・表形式セクション・タグ形式セクションでは、セクションの項目を具体的に指示したり self をもちいて入力状態を表すことができます。

1つの条件式の中に項目名や selfリテラルなどを複数記述することができ、展開時に連結されます。項目名や self を連続させる必要があるときには、半角スペースで単語を区切ります。

整形式を記述することで真偽値や整数、実数、タグ形式セクションのカンマ区切り文字列などの出力の書式を細かく調整することもできます。

※() は省略可能を表す
※| はいずれかを表す
※… は繰り返し可能を表す

具体例

%{artist/H~=[!self]"";[reference]"名前: "name" (根拠: "reference")";"名前: "name}%

判定条件

判定項目を評価するときの真偽の条件を反転させます。

複数の判定項目を記述する場合は、それぞれの判定項目に対して判定条件を設定することができます。

省略時の動作は、評価結果が真のときに真となります。

オプション 意味
指定なし 真のとき
! 偽のとき

具体例

%{artworkSize/H~=[!self]"サイズ情報なし";[!depth]"奥行情報なし"}%

判定項目, …

TODO:

項目

TODO:

整形式

TODO:

※() は省略可能を表す
※| はいずれかを表す


真ラベル:偽ラベル

TODO:

キーワード接続詞

TODO:

数値書式

TODO:

倍率

TODO:


エイリアス

スクリプトは必要に応じてエイリアスを定義することができ、エイリアスの定義は $エイリアス番号{ で始まり }$ で終わります。

※() は省略可能を表す
※… は繰り返し可能を表す

エイリアスは %{$エイリアス番号}% の形で参照することができます。

%{$エイリアス番号}%

スクリプト例

管理 ID を出力

%{identifier}%

管理 ID が入力されているときは「入力済み」と出力

%{identifier=[self]"入力済み"}%

資料区分が入力されているときは緑色で「入力済み」、入力されていないときは赤色で「未入力」と出力

%{classification=[self]"入力済み";[!self]"未入力"}%

サムネイルを矩形に内接するようにアスペクトを保ちながら拡大縮小して出力

%{thumbnail/<}%

イメージが2行以上登録されているときは矩形を4×2に分割し、1行のときは分割せず、それぞれのイメージをそれぞれの矩形に内接するようにアスペクトを保ちながら拡大縮小して出力

%{image/<[2]4H2;1H1=attachment}%

役割が「デバイス制作」である作家名のうち1行目を、引用が登録されているときは「名前 (引用)」とし、登録されていないときは「名前」のみを、矩形の中で自動改行して出力

%{artist[role="デバイス制作"][0]/H~=[reference]name" ("reference")";name}%

タイトルの入力状態が「あり」のときは1行目の「名称」を、そうでないときは管理名称があれば管理名称を、なければ赤色で「<未入力>」と出力

%{title[0]=[self]title;[name?]name?;"<未入力>"}%

作品サイズを水平方向に矩形からのはみ出しを許可しながら、0.1 倍して cm 表記で出力

%{artworkSize/H+="縦高: "height/*0.1" 横幅: "width/*0.1" 奥行: "depth/*0.1" cm"}%


日付 版数
2025/01/14 ドラフト