OPALE - 10.0 - Utilisation

Les codes OMR avec la commande MAP XPS

De MappingDoc

Présentation / Objectif

Comment insérer un code OMR sur un document ?

Le principe général est de définir un ou plusieurs index de rupture pour les documents. Les codes OMR seront calculés en fonction du changement de valeur de ces index (i.e. changement d’enveloppe à chaque changement de destinataire).

Procédure

Le calcul des codes OMR se fait sur un fichier XPS. La première étape est donc de créer le fichier XPS contenant les index (commande MAPCPYSLPLF).

Ce fichier sera ensuite converti en fichier XML MapDraw qui servira de fichier source pour « dessiner » les codes OMR (CALL MAP_XPS) Enfin, les codes OMR et le fichier XPS seront mergés pour produire un fichier XPS avec codes OMR (commande MAPPCYSPLF).

  • Création d’un fichier XPS


Dans un premier temps il faut remaquetter le fichier spool pour obtenir un fichier XPS indexé. Ici, le fichier XPS va être indexé sur le numéro de client. L’index sera nommé NUMCLI.

OMR-D.png


Paramètres de commande : Le fichier résultant du MAPCPYSPLF doit être conservé, au format XPS. Il faut donc définir un chemin complet pour le paramètre XPSOUTFILE et aucune conversion.

MAPCPYSPLF SPLF(INVOICE) SPLNUM(1) JOB(QPRTJOB) JOBNUM(000001) USER(USER) MAPNAM(INVOICE) MAPSEQ(00010) TYPLAN(*XPS) XPSCONVERT(*NONE) XPSOUTFILE('/home/mapping/temp/myfile.xps')

Rest-crtfichierxps.png


  • Création d'un fichier XML contenant les codes OMR


Il faut créer un fichier XML au format MapDraw contenant les codes OMR, il sera remappé par la suite. Pour créer ce fichier il faut utiliser le programme MAP_XPS.

Exemple de commande : Définir les différents paramètres OMR dans la commande ou utilisez un profil de conversion dans le XPSConfig.conf

CALL PGM(MAP400/MAP_XPS) PARM('-infile:/home/mapping/temp/myfile.xps' '-outfile:/home/mapping/temp/ myfile.xml' '-toXMLDRAW' '-param:counterinformation=on' '-param:addindexvalue=on' '-param:omrmark=NUMCLI' '-param:notext=on' '-param:omrpagemodulo=7' '-param:omrcollationmodulo=7')

Paramètres pour le code OMR :

notext=on/off

Si « on » les zones de texte du fichier XPS ne sont pas exportées dans le fichier XML (conseillé)

counterinformation=on/off

Ajoute les compteurs de page du fichier (peut-être utilisé sans OMR) Ajoute dans le XML = <field name="Counter_xxxxxxxxx">

omrmark=CRITERE

Calcule les codes OMR en se basant sur les valeurs d’un critère : ajoute les informations de lots (plis) et les modulos pour l’affichage des barres OMR.

maxomrmark=nombre

Nombre maximum de feuilles par enveloppe. Ce paramètre modifie le calcul OMR (nombre de lots et codes) mais n’ajoute rien dans le fichier XML. omrduplex=on/off Mode recto/verso. Ce paramètre modifie le calcul OMR (nombre de lots et codes) mais n’ajoute rien dans le fichier XML.

addindexvalue=on/off

Ajoute les valeurs des critères d’indexation dans le fichier XML. Ajoute dans le XML = <field name="index_xxxxxx">

omrpagemodulo=7,8,4,15,R7,R8

Ajoute le modulo de page dans le fichier XML. Le code change à chaque page.

Ajoute dans le XML = <field name="OMR_mark_page_1">, <field name="OMR_mark_page_2">, <field name="OMR_mark_page_3">, <field name="OMR_mark_page_4">

omrcollationmodulo=7,8,4,15,R7,R8

Ajoute le modulo de séquence dans le fichier XML. Le code est le même sur toutes les pages d’un même lot (même enveloppe) et change à chaque rupture de lot.

7 = décrément d'une valeur binaire de 7 (111) à 1 (001)

8 = décrément d'une valeur binaire de 7 (111) à 0 (000)

4 = décrément d'une valeur binaire de 4 (100) à 1 (001)

15 = décrément d'une valeur binaire de 15 (1111) à 1 (0001)

R7 = incrément d'une valeur binaire de 1 (001) à 7 (111)

R8 = incrément d'une valeur binaire de 0 (000) à 7 (111) Ajoute dans le XML = <field name="OMR_mark_collation_1" >, <field name="OMR_mark_collation_2">, <field name="OMR_mark_collation_3">, <field name="OMR_mark_collation_4">

omrmarkbreak=boc/eoc Marque de rupture.

boc : la marque de rupture est sur la première page de chaque lot (par défaut).

eoc : la marque de rupture est sur la dernière page de chaque lot.

Ajoute dans le XML = <field name="OMR_mark_collation_break"> omrfixedbars=nombre nombre de barre fixe dans le code OMR. Ajoute dans le XML = <field name="OMR_mark_fixedbars_1"> , <field name="OMR_mark_fixedbars_ 2 " >


Exemple de fichier XML :

<?xml version="1.0" encoding="UTF-16" standalone="yes" ?> 
<doc> Page 1 
<page name="NORMAL"> 
<field name="Counter_DocumentPage">18</field>                   nombre total de pages 
<field name="Counter_CurrentPage">1</field>                          numéro de page
<field name="Counter_DocumentPageDuplex">10</field> 
<field name="Counter_CurrentPageDuplex">1</field> 
<field name="Counter_Document_Collation">3</field>              nombre de lots
<field name="Counter_Current_Collation">1</field>                  numéro du lot
<field name="Counter_Current_Collation_Pages">6</field>      nombre de pages du lot
<field name="Counter_Current_Collation_Page">1</field>        numéro de page du lot
<field name="OMR_Collation">start</field>                                type de page dans le lot
<field name="OMR_mark_collation_break">1</field>                 marque de rupture 
<field name="OMR_mark_fixedbars_1">1</field>                      barre fixe
<field name="OMR_mark_page_1">1</field>                             modulo de page valeur 4 
<field name="OMR_mark_page_2">1</field>                             modulo de page valeur 2
<field name="OMR_mark_page_3">1</field>                            modulo de page valeur 1
<field name="OMR_mark_collation_1">1</field>                       modulo de séquence valeur 4
<field name="OMR_mark_collation_2">1</field>                       modulo de séquence valeur 2
<field name="OMR_mark_collation_3">1</field>                       modulo de séquence valeur 1
<field name="OMR_mark_parity">1</field>                               marque de parité
<field name="index_NUMFAC">0012601</field>                      valeur d’index
<field name="index_NUMCLI">1</field>     
</page>
Page 2 
<page name="NORMAL"> 
<field name="Counter_DocumentPage">18</field> 
<field name="Counter_CurrentPage">2</field> 
<field name="Counter_DocumentPageDuplex">10</field> 
<field name="Counter_CurrentPageDuplex">1</field> 
<field name="Counter_Document_Collation">3</field> 
<field name="Counter_Current_Collation">1</field> 
<field name="Counter_Current_Collation_Pages">6</field> 
<field name="Counter_Current_Collation_Page">1</field> 
<field name="OMR_Collation">start</field> 
<field name="OMR_mark_collation_break">1</field> 
<field name="OMR_mark_fixedbars_1">1</field> 
<field name="OMR_mark_page_1">1</field> 
<field name="OMR_mark_page_2">1</field> 
<field name="OMR_mark_page_3">1</field> 
<field name="OMR_mark_collation_1">1</field> 
<field name="OMR_mark_collation_2">1</field> 
<field name="OMR_mark_collation_3">1</field> 
<field name="OMR_mark_parity">1</field> 
<field name="index_NUMFAC">0012601</field> 
<field name="index_NUMCLI">1</field> </page>
Page3....

La marque de parité permet d’avoir un nombre de barres impair

Type de page dans un lot :

« start » = première page

« middle » = page intermédiaire

« end » = dernière page

« start-end » = page seule


  • Création d’un fichier XML contenant les codes OMR


Il faut remaquetter le fichier XML pour créer un fichier XPS contenant des codes OMR. On utilisera le fichier XPS des factures créé lors des étapes précédentes en tant que calque pour fusionner les codes OMR et les factures.

Xpsfile-OMR.png


MAPCPYSPLF SPLF(*NONE) MAPNAM(OMR) MAPSEQ(00010) TYPLAN(*XPS) XPSCONVERT (*NONE) XPSOUTFILE('/home/mapping/temp/myfilewithomr.xps') INFILE('/home/mapping/temp/myfile.xml') XPSLAYER('/home/mapping/temp/myfile.xps')


  • Impression du fichier XPS

MAPXPS INFILE('/home/mapping/temp/myfilewithomr.xps ') OUTFILE(*PRINT) TYPLAN(*PCL) SPLF(INVOICEOMR) OUTQ(MYOUTQ)