印刷

Platioアプリを使用してレコードを印刷するときには、レコードをHTMLとして整形したものをプリンターに渡して印刷します。印刷の設定でCSSを指定することで、印刷時のフォーマットをカスタマイズすることができます。

ここでは、レコードをどのようにHTMLに変換するかを説明します。

全体の構成

まず、全体として、先頭に指定されたヘッダーが、その下にレコード本体が、さらにその下に指定されたフッターが置かれます。レコード本体は、<dl>の下に置かれ、フィールド名が<dt>の下に、値が<dd>の下に置かれます。これが、レコードを印刷するシーン上にあるフィールド全て分繰り返されます。

<!DOCTYPE html>
<html>
  <body>
    <header><!-- 指定されたヘッダー --></header>
    <dl>
      <dt class="label cd1d5a64"><!-- 最初のフィールドの名前 --></dt>
      <dd class="value cd1d5a64"><!-- 最初のフィールドの値 --></dd>
      <dt class="label c9fc4c4b empty"><!-- 2番目のフィールドの名前 --></dt>
      <dd class="value c9fc4c4b empty"><!-- 2番目のフィールドの値 --></dd>
      <dt class="label cd72e323 hidden"><!-- 3番目のフィールドの名前 --></dt>
      <dd class="value cd72e323 hidden"><!-- 3番目のフィールドの値 --></dd>
      <!-- ... -->
      <dt class="label c00e60ea"><!-- 最後のフィールドの名前 --></dt>
      <dd class="value c00e60ea"><!-- 最後のフィールドの値 --></dd>
    </dl>
    <footer><!-- 指定されたフッター --></footer>
  </body>
</html>

フィールドの名前の<dt>には、二つのクラスが指定されます。一つ目はlabel、二つ目はフィールドのカラムIDです。フィールドの値の<dd>にも同様に、valueとカラムIDがクラスとして指定されます。また、値が指定されていない場合には、emptyクラスが指定されます。同様に、フィールドが条件付き表示機能を使用して非表示になっている場合には、hiddenクラスが指定されます。

CSSでこれらのクラスを使用して、特定のフィールドを、例えば、隠したりハイライトすることができます。

例えば、2番目のフィールドを隠すには、以下のようなCSSを指定します。

.c9fc4c4b {
  display: none;
}

また、2番目のフィールドを、値が指定されていない場合のみ隠すには、以下のようなCSSを指定します。

.c9fc4c4b.empty {
  display: none;
}

hiddenクラスに対しては、デフォルトで表示しないように設定されていますので、表示する場合には、以下のようなCSSを指定します。

.cd72e323.hidden {
  display: block;
}

画像

画像やビデオのフィールドには、取得できる場合にはサムネイルが表示されます。

<dt class="label cc89936d">画像</dt>
<dd class="value cc89936d">
  <img src="...">
</dd>

例えば、以下のようなCSSを使用することでサムネイルのサイズを調整できます。

.cc89936d img {
  width: 100px;
  height: 100px;
}

子レコード

子レコードフィールドがあると、全ての子レコードが<dd>の子要素として展開されます。

<dl>
  <dt class="label referrer">子レコード</dt>
  <dd class="value referrer">
    <dl>
      <!-- 最初の子レコード -->
      <dt class="label c4ce39cd"><!-- 最初の子レコードの最初のフィールドの名前 --></dt>
      <dd class="value c4ce39cd"><!-- 最初の子レコードの最初のフィールドの値 --></dd>
      <dt class="label c5a5541d"><!-- 最初の子レコードの2番目のフィールドの名前 --></dt>
      <dd class="value c5a5541d"><!-- 最初の子レコードの2番目のフィールドの値 --></dd>
      <!-- 2番目の子レコード -->
      <dt class="label c4ce39cd"><!-- 2番目の子レコードの最初のフィールドの名前 --></dt>
      <dd class="value c4ce39cd"><!-- 2番目の子レコードの最初のフィールドの値 --></dd>
      <dt class="label c5a5541d"><!-- 2番目の子レコードの2番目のフィールドの名前 --></dt>
      <dd class="value c5a5541d"><!-- 2番目の子レコードの2番目のフィールドの値 --></dd>
      <!-- ... -->
      <!-- 最後の子レコード -->
      <dt class="label c4ce39cd"><!-- 最後の子レコードの最初のフィールドの名前 --></dt>
      <dd class="value c4ce39cd"><!-- 最後の子レコードの最初のフィールドの値 --></dd>
      <dt class="label c5a5541d"><!-- 最後の子レコードの2番目のフィールドの名前 --></dt>
      <dd class="value c5a5541d"><!-- 最後の子レコードの2番目のフィールドの値 --></dd>
    </dl>
  </dd>

子レコードフィールドにはカラムIDがないため、カラムIDのクラスは指定されません。代わりに、referrerというクラスが指定されます。

例えば、子レコードを表示しない場合には、以下のようなCSSを適用します。

.referrer {
  display: none;
}

また、子レコードの特定のフィールドのラベルを大きくするには以下のようにします。

.referrer .c5a5541d.label {
  font-size: 120%;
}

また、子レコードは一階層しか展開されません。子レコードが子レコードを持っている場合でも、それらはHTMLに含まれません。