ONYX - 9.0 - Utilisation - Gestion d'indexation
Différence entre versions
(→Réplications des valeurs d'un index) |
(→Extraction des valeurs de critère) |
||
Ligne 102 : | Ligne 102 : | ||
'''-trim''' : suppression des espaces avant et après le texte | '''-trim''' : suppression des espaces avant et après le texte | ||
+ | |||
+ | Exemple 1 : recherche par mot clé | ||
+ | map_xps -infile:/tmp/invoice.xps -extract:/tmp/values.txt-filter:Invoice for order-length:10 -shift:2 -rtrim | ||
+ | ⇒ extraction de 10 caractères situés deux caractères après le mot cléInvoice for orderen supprimant les espaces superflus après le texte retourné. | ||
+ | |||
+ | Exemple 2 : recherche par position | ||
+ | map_xps -infile:/tmp/invoice.xps -extract:/tmp/values.txt "-box:100,150,180,30,mm" | ||
+ | |||
+ | Les paramètres de la box précisent ses dimensions : xx.xx,xx.xx,xx.xx,xx.xx[,cm|in|mm] | ||
+ | |||
+ | - quatre nombres décimaux spécifiant dans l’ordre : top (haut), bottom (bas), left (gauche), right (droite) | ||
+ | |||
+ | - le séparateur de décimale est le ‘.’ | ||
+ | |||
+ | - le séparateur de valeurs est ‘,’ ou ‘;’ | ||
+ | |||
+ | - le dernier paramètre (optionnel) est l’unité des coordonnées : en points (pour une résolution de 96dpi) par défaut, en millimètres (mm), en pouces (in) ou en centimètres (cm) | ||
==Traitements sur les index== | ==Traitements sur les index== |
Version du 17 avril 2019 à 08:01
Sommaire
Liste des index et de leurs valeurs
Le commutateur -dumpIndex permet de lister tous les critères d’indexation présents dans le document XPS.
Exemple:
map_xps -infile:/tmp/invoice.xps -dumpIndex CustomerID InvoiceID InvoiceDate CustomerName MAPSUBJCT MAPSEND NUMPAGE
Utilisé avec le nom d’un index en particulier, il liste l’ensemble des valeurs différentes de cet index :
map_xps -infile:/tmp/invoice.xps -dumpIndex:CustomerID 10638 4274 11426 4533 ...
En rajoutant le commutateur -duplicateindex
, les valeurs de l’index sont listées sur toutes les pages du document XPS y compris celles qui ont la même valeur :
map_xps -infile:/tmp/invoice.xps -dumpIndex:CustomerID -duplicateindex 10638 4274 11426 11426 4533 4533 ...
Indexation d'un document
Réplications des valeurs d'un index
Dans certains cas, il se peut qu’un critère d’indexation soit bien présent sur toutes les pages mais sans valeur définie pour certaines pages ou bien que le critère d’indexation ne soit pas présent sur toutes les pages. Le commutateur copyEmptyIndex permet alors de réindexer le document en copiant, pour les pages sans valeur d’index, la valeur de l’index se trouvant sur la page précédente.
Exemple :
map_xps -infile:/tmp/invoice.xps -copyEmptyIndex:InvoiceID
Indexation du fichier avant passage de la commande :
Page | Index | Valeur de l’index |
---|---|---|
1 | InvoiceID | 1 |
2 | Texte de la cellule | |
3 | InvoiceID | 2 |
4 | InvoiceID | 3 |
5 | InvoiceID | Texte de la cellule |
Indexation du fichier après passage de la commande :
Page | Index | Valeur de l’index |
---|---|---|
1 | InvoiceID | 1 |
2 | InvoiceID | 1 |
3 | InvoiceID | 2 |
4 | InvoiceID | 3 |
5 | InvoiceID | 3 |
Ajouter critères d'indexation(Statique)
Le commutateur -addCriteria
permet d’ajouter un ou plusieurs critères sur un document. La syntaxe générale est :
-addCriteria:Nom_index=valeur
Exemple : ajout d’un ou plusieurs index avec la même valeur sur toutes les pages
map_xps -infile:/tmp/in.xps -outfile:/tmp/out.xps -addCriteria:NumOrder=123456 -addCriteria:Date=17.02.2015
Ajouter des critères d'indexation(Dynamique)
Plus généralement, les valeurs de l’index ajouté seront issues d’une extraction préalable d’informations texte contenues dans le document XPS lui-même sur chacune de ses pages. Ces informations, stockées temporairement dans un fichier /tmp/values.txt, sont réutilisées pour l’ajout du critère avec la syntaxe suivante :
map_xps -infile:/tmp/in.xps -outfile:/tmp/out.xps -addCriteria:NumOrder=FILE:/tmp/value.txt
Extraction des valeurs de critère
Le principe est de rechercher des informations contenues dans le document et de les extraire (commutateur -extract:xxx) dans un fichier temporaire pour ensuite les ajouter comme valeurs d’un critère d’indexation du même document. Le fichier temporaire créé est au format texte, en Unicode, avec la syntaxe suivante :valeur « [TAB]page[CRLF] ». La collecte des informations dans le document peut se faire par mot clé (commutateur -filter:xxx) ou par position (commutateur -box:xxx). Les informations retournées peuvent être nettoyées des espaces superflus avant et/ou après le texte avec les commutateurs suivants :
-ltrim : suppression des espaces avant le texte
-rtrim : suppression des espaces après le texte
-trim : suppression des espaces avant et après le texte
Exemple 1 : recherche par mot clé
map_xps -infile:/tmp/invoice.xps -extract:/tmp/values.txt-filter:Invoice for order-length:10 -shift:2 -rtrim
⇒ extraction de 10 caractères situés deux caractères après le mot cléInvoice for orderen supprimant les espaces superflus après le texte retourné.
Exemple 2 : recherche par position
map_xps -infile:/tmp/invoice.xps -extract:/tmp/values.txt "-box:100,150,180,30,mm"
Les paramètres de la box précisent ses dimensions : xx.xx,xx.xx,xx.xx,xx.xx[,cm|in|mm]
- quatre nombres décimaux spécifiant dans l’ordre : top (haut), bottom (bas), left (gauche), right (droite)
- le séparateur de décimale est le ‘.’
- le séparateur de valeurs est ‘,’ ou ‘;’
- le dernier paramètre (optionnel) est l’unité des coordonnées : en points (pour une résolution de 96dpi) par défaut, en millimètres (mm), en pouces (in) ou en centimètres (cm)