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

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

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

概要

プリントテンプレート機能は、雛形となる PDF にカードの内容を埋め込んで新しい PDF を生成する、TAUArtArchiver の機能です。作品調書や作品カタログ、書籍など、多くの作品を同じデザインで列挙した原稿を作成したい場合に最適です。

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

カードの内容を埋め込みたい箇所を矩形で囲い、展開する項目を以下で解説する書式に従って、雛形となる PDF に記述します。フォントの種類やサイズ、色の情報なども反映させることができます。

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



目次



1. 雛形 PDF 概要

…執筆中…


雛形 PDF の作成

…執筆中…


予約語

…執筆中…


作例

…執筆中…


作成時の注意点

…執筆中…



2. TAUArtArchiver への登録

…執筆中…



3. TAUArtArchiver での利用

…執筆中…



4. 書式概要

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

スクリプトは %{ で始まり }% で終わり、あらかじめ定義された予約語のユーザコード名を使いながら、次の順番で記述します。

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

キー項目行番号視覚式条件式は必要に応じて記述し、省略することもできます。リテラル以外の空白や改行は無視されます。



5. セクション

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

@date, @user などの組み込みセクション名を使用することにより、プリントテンプレート機能を使用している現在の日時やユーザを出力することもできます。

値形式セクションや組み込みセクションでは、セクション名自体が具体的な内容を表します。

値形式セクションの例

%{dbid}%

選択肢形式セクション・表形式セクション・タグ形式セクションでは、セクション名は入力状態を表し、セクションに加えて項目を指定することにより具体的な内容を表します。

表形式セクションの例

%{artist=name}%


6. [キー項目=値, …]

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

キー項目は、あらかじめ定義された予約語のユーザコード名を使って1つだけ指定します。ユーザコード名の大文字・小文字は区別しません。

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

具体例

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

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

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

基本形

[キー項目="値"]

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

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

値1で始まるもの

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

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

値1で終わるもの

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

値1を含むもの

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

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

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

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



7. [行番号, …]

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

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

具体例

%{artist[0]=name}%

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

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

最初の行

[0]

複数の行

[0,2,4]

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



8. 視覚式

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

視覚式は、次の順番で記述します。

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

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

具体例

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

8.1. 打ち切りページ

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


8.2. リピート

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


8.3. 画像拡縮

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

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

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

具体例

%{thumbnail/<}%

8.4. 画像水平揃え

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

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

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

具体例

%{thumbnail/>HL}%

8.5. 行折り返し

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

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

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

具体例

%{title/H~=title}%

8.6. 画像垂直揃え

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

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

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

具体例

%{thumbnail/>VT}%

8.7. 行はみ出し

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

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

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

具体例

%{title/V+=title}%

8.8. 接続詞

表形式セクションにおいて、文字のみで構成された行を連結するための接続詞をリテラルで指定します。

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

具体例

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

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

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


8.9. 割り付け式; …

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

割り付け式は、次の順番で記述します。

※() は省略可能を表す

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

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

具体例

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

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


8.9.1. 有効化行数

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

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


8.9.2. 水平分割数

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


8.9.3. 配置方向

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

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

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


8.9.4. 垂直分割数

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


8.9.5. 余白

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

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

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

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

まとめて指定

M5mm

個別に指定

MX5mmY2.5mm

8.9.6. 単位

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

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

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



9. 条件式; …

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

条件式は、次の順番で記述します。

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

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

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

値形式セクションや組み込みセクションでは、self をもちいてセクション自身を表すことができ、選択肢形式セクション・表形式セクション・タグ形式セクションでは、セクションの項目を具体的に指示したり self をもちいて入力状態を表すことができます。thumbnail?, dbid?, identifier?, name? などの代替項目名を使用することにより、イメージタイトルが未入力の場合に、サムネイル管理名称で代替して出力することもできます。

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

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

具体例

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

9.1. 評価条件

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

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

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

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

具体例

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

9.2. 評価項目, …

条件式が有効となる、内容を評価したい項目を、あらかじめ定義された予約語のユーザコード名を使って指定します。ユーザコード名の大文字・小文字は区別しません。

評価項目は複数記述することができ、論理積としてあつかわれ、評価条件を設定することにより条件を反転させることができます。

真偽値型では真偽値がそのまま評価にもちいられ、整数型実数型では0よりも大きいとき、文字列型では1文字以上のときに真として評価されます。

評価項目では、selfthumbnail?, dbid?, identifier?, name? などの代替項目名を使用することもできます。

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

具体例

%{title[0]/H~=[self]title;[name?]name?;"タイトル情報なし"}%

9.3. 項目

値形式セクションや組み込みセクションでは、self をもちいてセクション自身を指定します。選択肢形式セクション・表形式セクション・タグ形式セクションでは、あらかじめ定義された予約語のユーザコード名を使ってセクションの項目を具体的に指示したり、self をもちいて入力状態を指定します。ユーザコード名の大文字・小文字は区別しません。

thumbnail?, dbid?, identifier?, name? などの代替項目名を使用することにより、イメージタイトルが未入力の場合に、サムネイル管理名称で代替して出力することができます。

項目名や self を複数連続させる必要があるときには、+ で単語を区切ります。

値形式セクションでの self の利用

%{identifier=self}%

値形式セクションの入力状態による条件分岐

%{identifier=[self]self;"管理名称なし"}%

表形式セクションでの self の利用

%{artist=self}%

表形式セクションの入力状態による条件分岐

%{artist=[self]name;"作家名なし"}%

代替項目名の利用

%{image/<=[self]attachment;thumbnail?}%

連続した項目名

%{artworkSize=height+width+depth}%

項目とリテラルの連結

%{artworkSize=height" "width" "depth}%

9.4. 整形式

真偽値整数実数日付文字列タグ形式セクションのタグ文字列などの出力の書式を細かく指定します。

整形式は、次の順番で記述します。

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

型に応じて書式に違いがあり、真偽値では真ラベル:偽ラベル、整数や実数では数値書式倍率、日付文字列では日付書式、タグ文字列ではキーワード接続詞を記述します。実際の型と記述書式が異なる場合には、整形をおこないません。

省略時の動作は、整形をおこないません。

真偽値ラベルの置き換え

%{memo="作業予定: "todo/"あり":"なし"" / コメント: "comment}%

有効桁の明示と単位を変換した出力

%{artworkSize="横幅: "width/+5.2*0.1"cm, 縦高: "height/+5.2*0.1"cm"}%

日付のみを出力

%{creation=self/"yyyy/MM/dd"}%

タグの区切りの変更

%{tagMaterial=keyword/" / "}%

9.4.1. 真ラベル:偽ラベル

真偽値の出力方法を2つのリテラルで指定します。

整形をおこなわない場合は、真のとき「はい」、偽のとき「いいえ」を出力します。

ラベルの置き換え

"あり":"なし"

9.4.2. 数値書式

整数実数の出力方法を C 言語の書式指定構文に準じた書式で指定します。

書式指定構文から先頭の % と終端の変換指定子を削除した書式を利用します。

%[flags][width][.precision][size]type

※詳しくは C 言語の書式指定構文を参照

整形をおこなわない場合は、TAUArtArchiver のユーザインターフェースでの表示と同じ書式で出力します。

有効桁の指定と明示的な + の出力

+5.2

9.4.3. 倍率

整数実数に指定した数値を乗算します。

省略時の動作は、乗算をおこないません。

0.25 倍して出力

*0.25

9.4.4. 日付書式

日付文字列の出力方法を Unicode Technical Standard #35 に準じた書式をもちいてリテラルで指定します。

パターン 意味
y 2025 年・パディングなし
yy 25 年・下2桁・必要に応じて0でパディング
yyyy 2025 年・下4桁・必要に応じて0でパディング
M 1 月・パディングなし
MM 01 月・2桁・必要に応じて0でパディング
MMM Jan 月名称・略式
MMMM January 月名称
d 7 日・パディングなし
dd 07 日・2桁・必要に応じて0でパディング
EEE Tue 曜日名称・略式
EEEE Tuesday 曜日名称
h 3 時刻・12時間表示・パディングなし
hh 03 時刻・12時間表示・2桁・必要に応じて0でパディング
H 15 時刻・24時間表示・パディングなし
HH 15 時刻・24時間表示・2桁・必要に応じて0でパディング
a PM 午前・午後
m 8 分・パディングなし
mm 08 分・2桁・必要に応じて0でパディング
s 5 秒・パディングなし
ss 05 秒・2桁・必要に応じて0でパディング
SSS 678 ミリ秒・3桁・必要に応じて0でパディング
zzz JST タイムゾーン名・略式
zzzz Japan Standard Time タイムゾーン名
Z +0900 RFC 822 書式

NSDateFormatter.com で書式の動作確認が可能

整形をおこなわない場合は、TAUArtArchiver のユーザインターフェースでの表示と同じ書式で出力します。

時刻のみを出力

"HH:mm:ss"

9.4.5. キーワード接続詞

タグ形式セクションのタグ文字列の出力方法をリテラルで指定します。

整形をおこなわない場合は , でキーワードを連結して出力します。

接続詞の置き換え

"/"


10. リテラル

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

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

"name: "name

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

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

"\""role"\""


11. エイリアス

スクリプトは必要に応じてエイリアスを定義することができ、エイリアスの定義は $エイリアス名{ で始まり }$ で終わり、あらかじめ定義された予約語のユーザコード名を使いながら、次の順番で記述します。

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

エイリアス名は英数字_ を使って命名することができ、大文字・小文字を区別しません。

具体例

$alias_ID{identifier/H~}$

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

具体例

%{$alias_ID}%


12. 制約事項

  • スクリプトページ内の矩形や文字の回転には非対応です
  • 出力文字の改行時の行高の指定には非対応です
  • 埋め込みフォント PDF には非対応です
  • カーニングやトラッキングなど詳細な文字の修飾は正しく反映されないことがあります
  • 一部のフォントで種類やサイズの情報が正しく反映されないことがあります
  • スクリプトが重なり合っている場合に、正しく構文を解析できないときや、文字の開始点がずれることがあります
  • 行の内容が1ページに収まらない場合に、ページを分割する機能は未実装です


13. スクリプト例

管理 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/24 ドラフト