Analizar los archivos de resultado XML

Ejemplo 1. Correspondencia de las páginas de salida con sus respectivas páginas de entrada

El archivo de resultado XML de este ejemplo se generó para un trabajo que creó dos documentos de salida a partir de cuatro documentos de entrada. Al examinar el identificador FileId del archivo y el identificador PageID de la página podemos ver que el primer archivo de salida, file1.docx, está hecho con páginas de los archivos de entrada file1.pdf y file2.pdf, y con la primera página del archivo de entrada file3.tif. El segundo archivo de salida, file3.docx, está hecho con las páginas del archivo de entrada file4.tif y de la segunda página del archivo de entrada file3.tif.

Para su conveniencia, se muestran los archivos y sus páginas en diferentes colores en la siguiente figura.

<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>

Ejemplo 2. Un archivo de resultado XML obtenido copiando un archivo de entrada

El archivo de resultado XML que se muestra fue generado con un archivo de entrada llamado file.png. Si examinamos los valores de los atributos Id e IsFailed de la etiqueta <XmlResult>, podemos ver que el trabajo fue único y que se realizó correctamente. Posteriormente, examinamos la lista de archivos de entrada y de salida y vemos que para un archivo de entrada llamado file.png, se creó un archivo de salida también llamado file.png. El nombre del archivo de salida se asigna en la etiqueta <OutputDocuments> que está integrada en la etiqueta <InputFile>. La extensión ".doc" no se corresponde con la extensión especificada en la máscara, esto significa que el archivo de salida file.png se obtuvo simplemente copiando el archivo de entrada file.png, y no a través del reconocimiento óptico de caracteres (OCR).

<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>

Ejemplo 3. Procesamiento de archivos y comparación de archivos de resultado XML en la carpeta Salida y en la carpeta Excepciones

Se debe procesar un archivo de 4 páginas llamado Invoice.pdf de la siguiente manera:

  1. Reconocer el archivo.
  2. Separar el archivo Invoice.pdf en documentos de 2 páginas cada uno.
  3. Indizar los documentos.
  4. Guardar cada documento indizado en formato DOC.

Nota. Durante el procesamiento, el segundo documento obtenido separando Invoices.pdf fue rechazado por un operador de indización porque no se encontró un número de factura en dicho documento.

Posteriormente, examinamos los archivos de resultado XML obtenidos.

  1. En la carpeta de Excepciones, podemos encontrar el archivo Invoices.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>

El valor del atributo IsFailed de la etiqueta <XmlResult> nos indica que hubo un error en el trabajo. Ahora tenemos que encontrar el identificador único del trabajo. Este ID nos ayudará a encontrar archivos que podrían haberse procesado correctamente.

La etiqueta <InputFile> nos indica que la carpeta Entrada contiene nuestro archivo Invoice.pdf, que tiene 4 páginas. La etiqueta <InputFile> tiene integrada la etiqueta <OutputDocuments>, lo que significa que el archivo de entrada simplemente se copió a la carpeta Salida (de acuerdo con lo solicitado en el inciso (e) previamente mencionado).

Las etiquetas <FileName> y <OutputLocation> hacen referencia a la copia guardada del archivo.

Los atributos FileId y PageId de la etiqueta <JobDocument> nos indican que el documento que presentó el error "El trabajo ha sido descartado por el operador de la estación de indización" tuvo el error en las páginas 2 y 3 del archivo de entrada.

  1. En la carpeta Salida, podemos encontrar el archivo Invoices.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>

El valor del atributo Id de la etiqueta <XmlResult> es el mismo que el valor de Invoices.pdf.result.xml, encontrado en la carpeta Excepciones. En otras palabras, el trabajo que estamos examinando es una continuación del trabajo que examinamos en el paso 1 previamente mencionado.

El valor del atributo IsFailed de la etiqueta <XmlResult> nos indica que esta parte del trabajo se realizó correctamente. El atributo Id de la etiqueta <InputFile> nos indica que el trabajo está compuesto por el mismo archivo de 4 páginas Invoice.pdf.

Posteriormente, hay un conjunto de etiquetas <JobDocument>, cada una correspondiente a un documento de salida obtenido al separar los archivos de entrada en documentos (de acuerdo con lo solicitado en el inciso (b) previamente mencionado).

En cada <JobDocument>, las etiquetas <OutputDocuments> contienen los archivos de entrada obtenidos al procesar Invoice.doc e Invoice001.pdf (como la carpeta Salida ya contenía un archivo llamado Invoice.pdf, el programa creó una copia del archivo de entrada).

En cada <JobDocument>, las etiquetas <Pages> proporcionan identificadores de página únicos para indicarnos a partir de qué páginas de qué archivos de entrada se creó el documento de salida obtenido. De esta manera, podemos usar las etiquetas <JobDocument> para hacer coincidir los archivos de entrada con sus respectivos archivos de salida.

Nota. La segunda etiqueta <JobDocument> no contiene ninguna etiqueta <OutputDocument>. Sin embargo, contiene una etiqueta <Error> con el valor “El trabajo ha sido descartado por el operador de la estación de indización”. Esto significa que hubo un error al procesar este documento y que el programa colocó un archivo de resultado XML en la carpeta Excepciones.

Consulte también:

Resultado XML

26.03.2024 13:49:49

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.