XML 結果ファイルの分析

例 1. 出力ページとそれぞれの入力ページの一致

この例にある、XML 結果ファイルは 4 つの入力文書から 2 つの出力文書を作成するというジョブで生成されたものです。 ファイル識別子フィールドおよびページ識別子 PageID の詳細を確認することで、最初の出力ファイル「file1.docx」は入力ファイル「file1.pdf」、「file2.pdf」、入力ファイル「file3.tif」の最初のページから作成されたものであることがわかります。 二番目の出力ファイルである「file3.docx」は入力ファイル「file4.tif」および入力ファイル「file3.tif」の 2 ページ目から作成されています。

利便性のため、下図ではファイルおよびページは別の色で表示されています。

<XmlResult Id="{BFF37808-4FA1-4FC3-949A-4BF7FC64FEC4}" IsFailed="false" ...>
 <ExportParams DocumentSeparationMethod="SeparateByFixedNumberOfPages" PagesPerDocument="3" XMLResultPublishingMethod="XMLResultToFolder" ...>
   <XMLResultLocation>D:\FRS\Workflow\Output Folder</XMLResultLocation>
   ...
 </ExportParams>
 <Name>file_1.pdf, file_2.pdf, file_3.pdf, file_4.pdf</Name>
 <InputFile FileName="file_1.pdf" Id="21827" ...>
   <Page Id="{B01336B9-AE8B-479D-AE91-8478A7451E2A}" PageNumber="0" ...>
     ...
   </Page>
   ...
 </InputFile>
 <InputFile FileName="file_2.pdf" Id="21828" ...>
   <Page Id="{6F834F38-43D6-4FE5-A983-084986809143}" PageNumber="0" ...>
     ...
   </Page>
   ...
 </InputFile>
 <InputFile FileName="file_3.pdf" Id="21829" ...>
   <Page Id="{CE5113B2-0593-462D-A668-D0E6E92C21B0}" PageNumber="0" ...>
     ...
   </Page>
   <Page Id="{E97D68CE-FA78-44B7-8193-8A3A8DE3DB9C}" PageNumber="1" ...>
     ...
   </Page>
   ...
 </InputFile>
 <InputFile FileName="file_4.pdf" Id="21830" ...>
   <Page Id="{913CCBD2-AC7F-495D-B964-1CF6668B532A}" PageNumber="0" ...>
     ...
   </Page>
   <Page Id="{DC823DCD-9E71-412E-9690-1BD55B995736}" PageNumber="1" ...>
     ...
   </Page>
   ...
 </InputFile>
 <JobDocument Name="file_1.pdf, file_2.pdf, file_3.pdf (page 1)" Id="{75DDDD35-CD3D-4CE5-A671-AE31D8277538}" ...>
   <OutputDocuments OutputLocation="D:\FRS\Workflow\Output Folder" ExportFormat="Docx" ...>
     <FileName>file_1.docx</FileName>
   </OutputDocuments>
   <Pages>
     <FileId>21827</FileId>
     <PageId>{B01336B9-AE8B-479D-AE91-8478A7451E2A}</PageId>
   </Pages>
   <Pages>
     <FileId>21828</FileId>
     <PageId>{6F834F38-43D6-4FE5-A983-084986809143}</PageId>
   </Pages>
   <Pages>
     <FileId>21829</FileId>
     <PageId>{CE5113B2-0593-462D-A668-D0E6E92C21B0}</PageId>
   </Pages>
   ...
 </JobDocument>
 <JobDocument Name="file_3.pdf (page 2), file_4.pdf" Id="{DC25C928-8070-4BF2-98B8-7EE608410E1D}" ...>
   <OutputDocuments OutputLocation="D:\FRS\Workflow\Output Folder" ExportFormat="Docx" ...>
     <FileName>file_3.docx</FileName>
   </OutputDocuments>
   <Pages>
     <FileId>21829</FileId>
     <PageId>{E97D68CE-FA78-44B7-8193-8A3A8DE3DB9C}</PageId>
   </Pages>
   <Pages>
     <FileId>21830</FileId>
     <PageId>{913CCBD2-AC7F-495D-B964-1CF6668B532A}</PageId>
   </Pages>
   <Pages>
     <FileId>21830</FileId>
     <PageId>{DC823DCD-9E71-412E-9690-1BD55B995736}</PageId>
   </Pages>
   ...
 </JobDocument>
 ...
</XmlResult>

例 2. 入力ファイルをコピーすることで取得された XML 結果ファイル

以下の、XML 結果ファイルは「file.png」という名前の入力ファイルのために生成されたものです。 属性 ID および<XmlResult> タグの IsFailed の値の詳細を確認することで、このジョブは固有のジョブで、実行に成功したことがわかります。 次に、入力ファイルおよび出力ファイルのリストの詳細を確認して、1 つの入力ファイル「file.png」のために作成され「file.png」と名付けられた、1 つの出力ファイルを見てみます。 出力ファイルの名前は <InputFile> タグの中の <OutputDocuments> タグの中にあります。 拡張子「.doc」は、マスクで指定された拡張子とは一致しないため、出力ファイル「file.png」はOCR の実行ではなく、入力ファイル「file.png」を単にコピーすることで取得されたものだとわかります。

<XmlResult Id="{070F0101-2625-46DB-AE99-B8C7FF48F3C3}" IsFailed="false" ...>
 <ExportParams XMLResultPublishingMethod="XMLResultToFolder" ...>
   <XMLResultLocation>D:\FRS\Workflow\Output Folder</XMLResultLocation>
   ...
 </ExportParams>
 <Name>file.png</Name>
 <InputFile FileName="file.png" Id="21832" ...>
   <OutputDocuments OutputLocation="D:\FRS\Workflow\Output Folder" ExportFormat="NoConversion" ...>
     <FileName>file.png</FileName>
   </OutputDocuments>
 </InputFile>
 ...
</XmlResult>

例 3. ファイルを処理し、出力フォルダおよび例外フォルダの XML 結果ファイルと比較

4 ページのファイル名「Invoice.pdf」は以下のとおりに処理される必要があります:

  1. ファイルの認識
  2. Invoice.pdf」を 2 ページずつの文書に分ける
  3. 文書にインデックス作成。
  4. インデックスが作成された文書をDOC に保存する。

注: 処理中に、「Invoice.pdf」から分割された 2 番目の文書は、文書の中に請求書番号が見つからなかったため、インデックスオペレータに拒否されたものです。

次に、取得された XML 結果ファイルの詳細を見てみましょう。

  1. 例外フォルダで、「Invoice.pdf.result.xml」を見つけることができます。

<XmlResult Id="{2481566F-AA4E-47D4-96FD-E97AB6DCE898}" IsFailed="true" ...>
 <ExportParams DocumentSeparationMethod="SeparateByFixedNumberOfPages" PagesPerDocument="2" XMLResultPublishingMethod="XMLResultToFolder" ...>
   <XMLResultLocation>D:\FRS\Workflow\Output Folder</XMLResultLocation>
   ...
 </ExportParams>
 <Name>Invoice.pdf</Name>
 <InputFile FileName="Invoice.pdf" Id="21833" ...>
   <OutputDocuments OutputLocation="D:\FRS\Workflow\Exceptions Folder" ExportFormat="NoConversion" ...>
     <FileName>Invoice.pdf</FileName>
   </OutputDocuments>
   <Page Id="{0B8C1DF4-3FF0-46A3-8CF4-67C7A94FD68E}" PageNumber="0" ...>
     ...
   </Page>
   <Page Id="{F95CCC65-D6C1-43AA-8714-F4520E912DE9}" PageNumber="1" ...>
     ...
   </Page>
   <Page Id="{F52BE173-B2C3-4D52-B05C-45A7847E1F5C}" PageNumber="2" ...>
     ...
   </Page>
   <Page Id="{1A606376-ACC1-4D14-8DE3-273777551C09}" PageNumber="3" ...>
     ...
   </Page>
   ...
 </InputFile>
 <JobDocument Name="Invoice.pdf (pages 3,4)" Id="{5D03D01F-7DB6-490A-BF18-441F2AF9533E}" ...>
   <IsFailed>true</IsFailed>
   <Message Type="Error" Code="35" ...>The document #2 was rejected by the Indexing Station operator ...</Message>
   <Pages>
     <FileId>21833</FileId>
     <PageId>{F52BE173-B2C3-4D52-B05C-45A7847E1F5C}</PageId>
   </Pages>
   <Pages>
     <FileId>21833</FileId>
     <PageId>{1A606376-ACC1-4D14-8DE3-273777551C09}</PageId>
   </Pages>
   ...
 </JobDocument>
 ...
</XmlResult>

<XmlResult> タグの IsFailed 属性はジョブが失敗したことを意味します。 その場合、ジョブの固有の識別子を見つける必要があります。 この ID は処理に成功したファイルを見つける手助けとなります。

<InputFile> タグは入力フォルダに 4 ページから成る「Invoice.pdf」があることを意味します。 <InputFile> タグには<OutputDocuments> タグが内臓されており、これは入力ファイルが出力フォルダにただ単にコピーされたことを意味します(上記のアイテムにより求められるように)。

<FileName> および <OutputLocation> タグは保存されたコピーファイルをポイントします。

<JobDocument> タグの FileId および PageId はその文書の処理結果が、入力ファイルの 2 ページ、3 ページの 「ジョブが インデックス作成ステーション オペレータにより破棄されました」というエラーであることを意味します。

  1. 出力フォルダで、「Invoice.pdf.result.xml」を見つけることができます。

<XmlResult Id="{2481566F-AA4E-47D4-96FD-E97AB6DCE898}" IsFailed="false" ...>
 <ExportParams DocumentSeparationMethod="SeparateByFixedNumberOfPages" PagesPerDocument="2" XMLResultPublishingMethod="XMLResultToFolder" ...>
   <XMLResultLocation>D:\FRS\Workflow\Output Folder</XMLResultLocation>
   ...
 </ExportParams>
 <Name>Invoice.pdf</Name>
 <InputFile FileName="Invoice.pdf" Id="21833" ...>
   <Page Id="{0B8C1DF4-3FF0-46A3-8CF4-67C7A94FD68E}" PageNumber="0" ...>
     ...
   </Page>
   <Page Id="{F95CCC65-D6C1-43AA-8714-F4520E912DE9}" PageNumber="1" ...>
     ...
   </Page>
   <Page Id="{F52BE173-B2C3-4D52-B05C-45A7847E1F5C}" PageNumber="2" ...>
     ...
   </Page>
   <Page Id="{1A606376-ACC1-4D14-8DE3-273777551C09}" PageNumber="3" ...>
     ...
   </Page>
   ...
 </InputFile>
 <JobDocument Name="Invoice.pdf (pages 1,2)" Id="{FF05AABB-BBA4-49A7-AC71-2E2C8916BD72}" ...>
   <IsFailed>false</IsFailed>
   <Message Type="Information" Code="5" ...>The document #1 was accepted by the Indexing Station operator ...</Message>
   <OutputDocuments OutputLocation="D:\FRS\Workflow\Output Folder" ExportFormat="Docx" ...>
     <FileName>Invoice.docx</FileName>
   </OutputDocuments>
   <Pages>
     <FileId>21833</FileId>
     <PageId>{0B8C1DF4-3FF0-46A3-8CF4-67C7A94FD68E}</PageId>
   </Pages>
   <Pages>
     <FileId>21833</FileId>
     <PageId>{F95CCC65-D6C1-43AA-8714-F4520E912DE9}</PageId>
   </Pages>
   ...
 </JobDocument>
 <JobDocument Name="Invoice.pdf (pages 3,4)" Id="{5D03D01F-7DB6-490A-BF18-441F2AF9533E}" ...>
   <IsFailed>true</IsFailed>
   <Message Type="Error" Code="35" ...>The document #2 was rejected by the Indexing Station operator ...</Message>
   <Pages>
     <FileId>21833</FileId>
     <PageId>{F52BE173-B2C3-4D52-B05C-45A7847E1F5C}</PageId>
   </Pages>
   <Pages>
     <FileId>21833</FileId>
     <PageId>{1A606376-ACC1-4D14-8DE3-273777551C09}</PageId>
   </Pages>
   ...
 </JobDocument>
 ...
</XmlResult>

<XmlResult> タグの ID 属性は例外フォルダの「Invoice.pdf.result.xml」の値と同じです 言い換えれば、今取り上げているジョブはステップ 1 で取り上げたジョブの続きのジョブであるということです。

<XmlResult> タグの IsFailed 属性値はジョブのこの部分の処理には成功したということを意味します。 この <InputFile> タグの ID 属性により、このジョブが、4 ページのInvoice.pdf ファイルに関連するものであることがわかります。

その次に <JobDocument> タグが続き、それぞれが入力ファイルを文書に分割して得られた出力文書に対応しています(上記のアイテムにより求められるとおり)。

それぞれの <JobDocument> で <OutputDocuments> タグは「Invoice.doc」および「Invoice001.pdf」の処理により得られた入力ファイルを含んでいます(出力フォルダには既に「Invoice.pdf」という名前のファイルがあるため、プログラムは同じ入力ファイルのコピーを作成します)。

<JobDocument> および <Pages> タグは固有のページ ID を示し、どの入力ファイルのどのページから、出力文書が作成されたのかを示します。 従って、<JobDocument> タグを入力ファイルと出力ファイルの照合に使用することができます。

注:2 番目の <JobDocument> タグはいかなる <OutputDocument> タグも含みません。 その代りに、?ジョブは インデックス作成ステーション オペレータにより破棄されました?という <Error> タグを含みます。 これは、この文書の処理中にエラーが発生し、プログラムは XML 結果ファイルを例外フォルダに入れたということを意味します。

29.11.2022 17:26:48

Please leave your feedback about this article

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.