EAN-128(JAN-128)

UCC/EAN-128, GS1-128としても知られている。

構文

<bc:barcode message="42012345ñ910112345678912345678ð">
  <bc:ean-128>
      <bc:height>15mm</bc:height>
      <bc:module-width>0.21mm</bc:module-width>
      <bc:check-digit-marker>ð</bc:check-digit-marker>
      <bc:group-separator>ñ</bc:group-separator>
      <bc:template>(420)n5(91)n2+n9+n2-8+cd0</bc:template>
      <bc:quiet-zone enabled="true">10mw</bc:quiet-zone>
      <bc:human-readable>
        <bc:placement>bottom</bc:placement>
        <bc:font-size>8pt</bc:font-size>
        <bc:omit-brackets>false</bc:omit-brackets>
      </bc:human-readable>
  </bc:ean-128>
</bc:barcode>

メモ

  • EAN-128はCode128シンボロジーを基礎にしている。
  • {height}は少なくともバーコードの長さの0.15倍か0.25インチ以上無ければならない
  • {template}の値は通常は任意である。実装すると、AI(アップリケーション識別子)を検査することで正しいテンプレートを識別しようとする。組み込まれた定義済みアップリケーションテンプレートのテーブルが用意されている。
  • {template}の書式は(カッコに囲まれた)AIナンバーの繰り返しの集合で、後にフィールド記述が続く。許容されるデータ型は「n」(数字)、「an」(英数字)、「d」(日付)、と「cd」(チェックデジット)である。「cd」はAIの後の最初の文字から始まるチェックディジットを計算する。「cd0」はチェックディジットの計算にAIを含む(USPSで使われる)。複数のフィールド部は「+」文字で区切れる。
  • 例:「n13」はちょうど13桁の数字フィールドを定義する。「n13+cd」はちょうど13桁の数字フィールドにチェックディジット加えたものを定義する。「an1-9」は1から9文字の英数字フィールドを定義する。
      実例:”(01)n13+cd(421)n3+an1-9(10)an1-20″
  • {group-separator}はメッセージの中で使うグループの区切り文字を定義する。デフォルトではASCII (0x1D, 035) または0xF1 がグループ区切り文字として認識される。XSL-FOアップリケーションでは、0xF1はASCII の替わりに使う必要があるかもしれない。
  • {check-digit-marker}は、メッセージの中で、バーコード4Jにより自動的に計算されるチェックディジット用のプレースホルダーとして使う文字を表す。
  • もし、{omit-brackets}の設定が「true」の場合、可読領域のAIの周りにカッコが表示されない。

メッセージ書式

  • 有効な文字:全ての7ビットASCII(US-ASCII)文字がサポートされている
  • ファンクション1と3が使用可能で、メッセージの中では、ASCII文字の0xF1 (241), 0xF3 (243)としてコード化される。

PDF

EAN-8(JAN-8)

実例

example-ean-8

構文

<bc:barcode message="2012345">
  <bc:ean-8>
      <bc:height>15mm</bc:height>
      <bc:module-width>0.33mm</bc:module-width>
      <bc:quiet-zone enabled="true">10mw</bc:quiet-zone>
      <bc:checksum>add</bc:checksum>
      <bc:human-readable>
        <bc:placement>bottom</bc:placement>
        <bc:font-size>8pt</bc:font-size>
      </bc:human-readable>
  </bc:ean-8>
</bc:barcode>

メッセージ書式

  • 有効な文字は[0~9]である。
  • メッセージの長さはchecksum-modeによって7か8文字でなければいけない。
  • checksum-modeが「auto」に設定された時の動作:もし、7文字のメッセージ通過した場合、検査文字が加えられる。もし、8文字のメッセージが通過したら、検査文字がチェックされる
  • 補足追加もサポートされてる(2~5文字)。バーコードメッセージに補足メッセージを「+」を付けて追記できる。
      例:22139337+12

PDF

EAN-13(JAN-13)

実例

example-ean-13

構文

<bc:barcode message="200123456789">
  <bc:ean-13>
      <bc:height>15mm</bc:height>
      <bc:module-width>0.33mm</bc:module-width>
      <bc:quiet-zone enabled="true">10mw</bc:quiet-zone>
      <bc:checksum>add</bc:checksum>
      <bc:human-readable>
        <bc:placement>bottom</bc:placement>
        <bc:font-size>8pt</bc:font-size>
      </bc:human-readable>
  </bc:ean-13>
</bc:barcode>

メッセージ書式

  • 有効な文字は[0~9]である。
  • メッセージの長さはchecksum-modeによって12か13文字でなければいけない。
  • checksum-modeが「auto」に設定された時の動作:もし、12文字のメッセージ通過した場合、検査文字が加えられる。もし、13文字のメッセージが通過したら、検査文字がチェックされる
  • 補足追加もサポートされてる(2~5文字)。バーコードメッセージに補足メッセージを「+」を付けて追記できる。
      例:9783468111242+56789

PDF

UPC-E

実例

example-upc-e

構文

<bc:barcode message="0123413">
  <bc:upc-e>
      <bc:height>15mm</bc:height>
      <bc:module-width>0.33mm</bc:module-width>
      <bc:quiet-zone enabled="true">10mw</bc:quiet-zone>
      <bc:checksum>add</bc:checksum>
      <bc:human-readable>
        <bc:placement>bottom</bc:placement>
        <bc:font-size>8pt</bc:font-size>
      </bc:human-readable>
  </bc:upc-e>
</bc:barcode>

メッセージ書式

  • 有効な文字は[0~9]である。
  • メッセージの長さはchecksum-modeによって7か8文字でなければいけない。
  • checksum-modeが「auto」に設定された時の動作:もし、7文字のメッセージ通過した場合、検査文字が加えられる。もし、8文字のメッセージが通過したら、検査文字がチェックされる
  • 最初の文字(数字システム)は0か1でなければならない。
  • UPC-Aメッセージ(12か13文字)からUPC-Eバーコードを生成できる。もし、UPC-AメッセージがUPC-Eメッセージに変換出来ない時は、例外通知を受ける。
  • 補足追加もサポートされてる(2~5文字)。バーコードメッセージに補足メッセージを「+」を付けて追記できる。
      例:0123413+77

PDF

UPC-A

実例

example-upc-a

構文

<bc:barcode message="00123456789">
  <bc:upc-a>
      <bc:height>15mm</bc:height>
      <bc:module-width>0.33mm</bc:module-width>
      <bc:quiet-zone enabled="true">10mw</bc:quiet-zone>
      <bc:checksum>add</bc:checksum>
      <bc:human-readable>
        <bc:placement>bottom</bc:placement>
        <bc:font-size>8pt</bc:font-size>
      </bc:human-readable>
  </bc:upc-a>
</bc:barcode>

メモ

メッセージ書式

  • 有効な文字は[0~9]である。
  • メッセージの長さはchecksum-modeによって11か12文字でなければいけない。
  • checksum-modeが「auto」に設定された時の動作:もし、11文字のメッセージ通過した場合、検査文字が加えられる。もし、12文字のメッセージが通過したら、検査文字がチェックされる
  • 補足追加もサポートされてる(2~5文字)。バーコードメッセージに補足メッセージを「+」を付けて追記できる。
      例:037145007991+51528

PDF

Code 128


PDF

Code39

実例

example-code39

構文

<bc:barcode message="0123456789">
  <bc:code39>
      <bc:height>15mm</bc:height>
      <bc:module-width>0.19mm</bc:module-width>
      <bc:wide-factor>2.5</bc:wide-factor>
      <bc:interchar-gap-width>1mw</bc:interchar-gap-width>
      <bc:quiet-zone enabled="true">10mw</bc:quiet-zone>
      <bc:checksum>ignore</bc:checksum>
      <bc:extended-charset>false</bc:extended-charset>
      <bc:human-readable>
        <bc:placement>bottom</bc:placement>
        <bc:font-size>8pt</bc:font-size>
        <bc:display-start-stop>false</bc:display-start-stop>
        <bc:display-checksum>false</display-checksum>
      </bc:human-readable>
  </bc:code39>

メモ

  • {height}は少なくともバーコードの長さの0.15倍か0.25インチ以上無ければならない
  • {module-width}(狭いエレメント幅)は少なくとも7.5ミル(1ミルは1000分の1インチ)か0.19ミリメートル以上必要である。
  • もし、狭いエレメントが20ミル以上なら、広いエレメントは2倍から3倍の範囲に収める必要がある。もし、狭いエレメントが20ミル未満なら、倍率は2倍から2.2倍の範囲にしか取り得ない。
  • {quiet zone}は少なくともモジュール幅の10倍か0.10インチのどちらか大きい値は無ければならない。
  • {interchar-gap-width}(igw)は、もしモジュール幅(mw)が10ミル未満の場合は、もっジュール幅の5.3倍になる。もし、10ミル以上なら、igwの値は3mwか53ミルのいずれか長い方になる。しかし、高品質印刷の場合は、igwはmwと同値のことが多い。

メッセージ書式

  • 有効な文字は[0~9][A~Z]あるいは[- $ / + % SPACE]
  • 全てのUS-ASCII(7ビット)文字をサポートするためには、「extended-charset」を「true」に設定する。
  • 「*」文字は開始・終了文字としてのみ使われ、(拡張文字セットが有効にならない限り)メッセージには使ってはならない。可読領域あるようには見えないだろうが、「*」文字はメッセージの前後に自動的に加えられる。({display-start-stop}と{display-checksum}の値も参照してほしい)
  • {display-start-stop}は可読領域に開始と終了文字を含めるかどうか決定する。display-start-stop}を「true」に設定すると、自動的に{display-checksum}も「true」に設定される。
      注:拡張文字セットが有効にされている場合、このオプションは無視される。
  • {display-checksum}は計算されたチェックサムを可読領域に含めるかを決定する。
      注:拡張文字セットが有効にされている場合、このオプションは無視される。

PDF

Copper PDF 2.1.3をリリースしました

Copper PDF 2.1.3をリリースしました。「Copper PDF サーバーのダウンロード」から入手してください。

以下のバグを修正しました

  • data:スキーマで埋め込まれたbase64形式のデータに、%と+という文字が入っていると、データが正しく認識されない(画像を埋め込んだSVG等で発生)。
  • SVG中のテキストのフォントファミリが、Java実行環境インストールされたものでないと適用されない。
  • フォントによって文字が欠けることがある(IPA Monaフォントで発現)。
  • 画像にline-heightが適用されない。
  • サーバー上のディスク以外に置かれたファイルに対して、XSLTのimport, includeが使えない。

より標準に準拠するように以下の修正をしました。

  • 太い境界線の形状が台形になるようにしました。
  • clearプロパティが指定されたボックスが浮動ボックスの直後にある場合は、上マージンが直前の浮動ボックスに重なるようにしました。
  • ‘position: fixed;’が指定されたボックスと、’position: absolute;’指定されたボックスの重ね順が同じになるようにしました。

PDF

Q. Too many open filesが発生する

Linuxでは、高負荷時にToo many open filesエラーが発生することがあります。Copper PDFのログにToo many open filesが記録される場合は、rootで以下の操作を行い、同時に開くことができるファイルの最大数(通常は1024となっています)を増やしてください。以下の例は値を4096に設定する例です。

1. /etc/security/limits.confに次の行を加える。

root – nofile 4096
copper – nofile 4096

2. 以下のコマンドを実行する。

ulimit -n 4096
sudo -u copper /bin/sh
ulimit -n 4096
exit


PDF

文書編集ツール公開

ブラウザ上で手軽に使うことが出来る、文書編集ツールを公開しました。

http://copper.cssj.jp/apps/tinymce/index.pl

使い方は簡単、ブラウザ上で文書を編集し、「ダウンロード」ボタンでレイアウトされたPDFをダウンロードするだけです。

PDFにはHTMLのソースが添付されています。PDFを「アップロード」することで、後日に同じ文書の編集を再開することが出来ます。

Copper PDF向けのテンプレートの作成用途の他、日々の簡単な文書作成にご利用いただけます。アカウント登録等、煩雑な手続きは一切必要ありません。

データのやりとりは暗号化されませんので、ご注意ください。LAN内等のセキュアな環境での運用をご希望の方はお問い合わせください。


PDF