プロセスでバーコードフォームサービスを使用すると、スキャンした画像(TIFF または PDF ファイル)からバーコードデータを抽出し、そのデータを XML 形式に変換してプロセスで使用できます。
このクイックスタートは、バーコードフォームサービスに関する十分な知識がある方を対象としています。このサービスに関する詳細は、『
AEM forms サービスリファレンス
』を参照してください。
例えば、大学のビジネスプロセスで、学生が成績表の名前やステータスを変更するためにバーコード付きのフォームを使用しているとします。フォーム上の 2 つのバーコードで、学生がフォームに入力する情報をキャプチャします。
バーコードフォームサービスは、バーコードを読み取り、そこに含まれている情報を処理するために使用されます。
次の図に、バーコードの読み取りとデータの処理に使用されるプロセスダイアグラムを示します。データの処理は、変更の対象が名前かステータスかによって異なります。「Extract Content」操作のルートには、データの処理方法を決定するための条件があります。
「Decode Form」操作はバーコードを読み取り、データを XML として保存します。データには、バーコードに関するメタデータとフォームデータが含まれています。フォームデータは、区切られたテキスト形式で
content
要素に含まれています。
次の XML は、「Decode Form」操作によって生成される出力の例です。各バーコードのデータは、個別に
barcode
要素に設定されています。
<?xml version="1.0" encoding="UTF-8"?>
<xb:scanned_image
xmlns:xb="http://decoder.barcodedforms.adobe.com/xmlbeans"
path="tiff" version="1.0">
<xb:decode>
<xb:date>2007-07-25T11:48:22.639-04:00</xb:date>
<xb:host_name>Win2K3-LC8</xb:host_name>
<xb:status type="success">
<xb:message/>
</xb:status>
</xb:decode>
<xb:barcode id="1">
<xb:header symbology="pdf417">
<xb:location page_no="1">
<xb:coordinates>
<xb:point x="0.119526625" y="0.60945123"/>
<xb:point x="0.44457594" y="0.60945123"/>
<xb:point x="0.44457594" y="0.78445125"/>
<xb:point x="0.119526625" y="0.78445125"/>
</xb:coordinates>
</xb:location>
</xb:header>
<xb:body>
<xb:content encoding="utf-8">t_SID t_FirstName t_MiddleName
t_LastName t_nFirstName t_nMiddleName
t_nLastName 90210 Patti Y Penne
Patti P Prosciutto
</xb:content>
</xb:body>
</xb:barcode>
<xb:barcode id="2">
<xb:header symbology="pdf417">
<xb:location page_no="1">
<xb:coordinates>
<xb:point x="0.119526625" y="0.825"/>
<xb:point x="0.44457594" y="0.825"/>
<xb:point x="0.44457594" y="0.9167683"/>
<xb:point x="0.119526625" y="0.9167683"/>
</xb:coordinates>
</xb:location>
</xb:header>
<xb:body>
<xb:content encoding="utf-8">t_FormType t_FormVersion
ChangeName 20061128
</xb:content>
</xb:body>
</xb:barcode>
</xb:scanned_image>
フォームデータは文字で区切られたテキストなので、情報の解析や抽出は困難です。そのため、「Extract Content」操作は XML 形式のデータを解析および保存するために使用されます。XML 形式では、XPath 式を使用して特定のデータ項目にアクセスできます。
次の XML は、フォーム上の最初のバーコード (
id
=
1
)から「Extract Content」操作で生成された出力の例です。
<?xml version="1.0" encoding="UTF-8"?>
<xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/"
xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
<xfa:datasets>
<xfa:data>
<form1>
<t_SID>90210</t_SID>
<t_FirstName>Patti</t_FirstName>
<t_MiddleName>Y</t_MiddleName>
<t_LastName>Penne</t_LastName>
<t_nFirstName>Patti</t_nFirstName>
<t_nMiddleName>P</t_nMiddleName>
<t_nLastName>Prosciutto</t_nLastName>
</form1>
</xfa:data>
</xfa:datasets>
</xdp:xdp>
次の XML は、フォーム上の 2 番目のバーコード (
id
=
2
)から「Extract Content」操作で生成された出力の例です。
<?xml version="1.0" encoding="UTF-8"?>
<xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/"
xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
<xfa:datasets>
<xfa:data>
<form1>
<t_FormType>ChangeName</t_FormType>
<t_FormVersion>20061128 </t_FormVersion>
</form1>
</xfa:data>
</xfa:datasets>
</xdp:xdp>
「Extract Content」操作のルートには、次に実行する操作を決定するための条件があります。この条件は、2 番目のバーコードに含まれる
t_FormType
要素のコンテンツを使用して、有効なルートを判断します。この要素のコンテンツは、学生が名前またはステータスを変更するためにフォームで選択したオプションを表しています。このデータは XML 形式であるため、コンテンツは XPath 式を使用して取得できます。例えば、次の XPath 式は
t_FormType
要素のコンテンツを取得します。
/process_data/contentList[2]/xdp:xdp/xfa:datasets/xfa:data/form1/t_FormType
contentList
は XML データを含む
list
変数です。この例では、この変数に「Extract Content」操作の出力が保存されます。