RayBarcodeは、Salesforce上でAztec、Code49、DataMatrixおよびQRコードを使う場合に、1つのバーコードに収まらないデータや分割したいデータを複数のバーコードに分割し、読み取り時にデータを連結できる「連結機能」に対応しています。
StructureAppenedプロパティ、StructureIndexプロパティ、およびStructrueNumberプロパティは、構成連結機能をサポートするAztecバーコードを生成して、すべてのバーコードが読み込んだ後、それらを再構築します。既定値は順にfalse、0、1です。
文字列の長さが構造数の倍数である場合、元の文字列は平均的に分割されます。それ以外の場合は、残りの文字が最後の文字列に含まれます。例えば、元の文字列のバイナリ長は「password is 123456」の場合、平均的に3つの部分(構造数は3である)に文字列が分割されます。すべての部分をエンコードし、以下のように表示します。
上記3つのシンボル用の設定は以下の通りです。
Symbol #1:
Value = "password is 123456"
Options = '{"StructureAppend":"true","StructureNumber":"3","StructureIndex":"1"}'
Symbol #2:
Value = "password is 123456"
Options = '{"StructureAppend":"true","StructureNumber":"3","StructureIndex":"2"}'
Symbol #3:
Value = "password is 123456"
Options = '{"StructureAppend":"true","StructureNumber":"3","StructureIndex":"3"}'
AztecではStructureIndexが1から開始されることに注意してください。
Groupingプロパティをtrueに設定して、正しいGroupNoを指定することでCode49を複数のバーコードシェイプに分割できます。その結果、より高いデータ量が表示できます。
Groupingプロパティの既定値はfalseです。GroupNoの既定値は0です。値が指定されない場合は、81文字数以上の文字列を設定する場合、バーコード画像が生成できません。
例えば、以下の値のCode49バーコードを生成する場合、2つのCode49シンボルに分割します。 「123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890」
各シンボル用の設定は以下の通りです。
Symbol #1:
Value = "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
Options='{"Grouping":"true","GroupNo":"0","ShowMessage":"false"}'
Symbol #2:
Value = "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
Options='{"Grouping":"true","GroupNo":"1","ShowMessage":"false"}'
上記設定は2つのシンボルのみに適しています。無効な値(例:GroupNo = 2)を設定する場合、バーコード画像が生成できません。
最大16シンボルに分割したDataMatrixによってより多くの情報を表示します。
StructuredAppendプロパティとStructureNumberプロパティは、構成連結機能をサポートするDataMatrixを生成します。構成連結機能は、値を複数のDataMatrixシンボルとして表示することを可能にします。その結果、これらのシンボルは、限られたスペース内に表示できます。
連結できるDataMatrixシンボルの最大数は16ですので、StructureNumberプロパティの有効な値範囲は0~15です。
FileIdentifier識別子は、構成連結モードにあるDataMatrixシンボルのグループを識別するために使用されます。有効な値範囲は1~254です。
例えば、下記設定を行うとデータを2つのDataMatrixシンボルで表示できます。
Symbol #1:
Value = "1234567890"
Options = '{"StructureNumber":"0","ECC200SymbolSize":"Square14","StructuredAppend":"true"}'
Symbol #2:
Value = "1234567890"
Options = '{"StructureNumber":"1","ECC200SymbolSize":"Square14","StructuredAppend":"true"}'
上記設定でDataMatrixは2つのシンボルのみで表示できます。無効な値(例:StructureNumber = 2)を設定する場合、バーコード画像が生成されません。
例えば、下記設定を行うとデータを2つのQRCodeシンボルで表示できます。
Symbol #1:
Value = "12345678901234567890"
Options = '{"Version":"1","Connection":"true","ConnectionNo":"0","ErrorLevel":"H"}'
Symbol #2:
Value = "12345678901234567890"
Options = '{"Version":"1","Connection":"true","ConnectionNo":"1","ErrorLevel":"H"}'
上記設定でQRCodeは2つのシンボルのみで表示できます。無効な値(例:ConnectionNo = 2)を設定する場合、バーコード画像が生成されません。