ONYX - 9.0 - Utilisation

Gestion des options de finition (PrintTickets)

De MappingDoc

Introduction

Nous pouvons voir les print tickets comme des options d'impressions porté par un job ayant pour vocation d'être imprimé. (Sélection de tiroir d'entrée, tiroir de sortie, recto/verso, etc)

Cette documentation traite des print tickets embarqués dans le fichier XPS MAPPING.

Principe de fonctionnement

Généralités

Le format XPS a été inventé par Microsoft. Sa premier sortie date de 2006. Mapping utilise désormais (partiellement sur sa version IBM-i OPALE et complète sur sa version Linux/Windows ONYX) ce format comme format pivot. Dans le cas du fonctionnement en XPS, le moteur de composition génère obligatoirement un flux XPS. Ensuite MAPPING utilise un de ses convertisseurs pour convertir ce format XPS en flux finaux (Zebra/TEC pour l'impression d'étiquettes, PDF, PCL, etc)

Le principe est de positionner dans le document XPS des informations de finition qui seront reprises et traduites par les conversions dans les langages d’impression. Le commutateur à utiliser est -set:OPTION=valeur de la commande map_xps. Les options peuvent être positionnées en global (pour le document) ou au niveau page avec l’un ou l’autre des commutateurs -pages:xxx (sélection de pages) ou -filter:xxx (sélection de pages en fonction de valeurs d’index).

Différents niveaux du fichier XPS

Le format XPS est un format très structuré (contrairement au PDF par exemple) et comportement également des option d'impressions (print tickets ou options de finition). c'est un fichier compressé (format ZIP). Sa structure comportement 3 différents niveaux :

  1. Niveau JOB
  2. Niveau DOCUMENT
  3. Niveau PAGE

Chaque sous niveau vient surcharger son niveau supérieur.

Chacun de ces niveaux peut embarquer des commandes de print ticketing ainsi que d'autres notions. Le fichier /Metadata/Job_PT.xml du niveau en question contient les commandes des print tickets :

  1. Niveau job : /Metadata/Job_PT.xml
  2. Niveau document : /Documents/1/Metadata/Job_PT.xml (pour le 1er document) ou /Documents/2/Metadata/Job_PT.xml (pour le 2ième document)
  3. Niveau Page : /Documents/1/Pages/Metadata/Page1_PT.xml (pour la 1er page du 1er document) ou /Documents/2/Pages/Metadata/Page10_PT.xml (pour la 10ième page du 2ième document)

Exemple de fichier Job_PT.xml ou PageXX_PT.xml

Niveau job

Le fichier contenant les informations de print tickets au niveau job est /Metadata/Job_PT.xml Mapping ne gère pas les print tickets au niveau job. De ce fait, le contenu de ce fichier reste le même pour tous les XPS MAPPING. Il n'est pas possible de le changer.

Voici son contenu :

<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<psf:PrintTicket xmlns:psf="http://schemas.microsoft.com/windows/2003/08/printing/printschemaframework" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1" 
xmlns:nsmappingsuite="http://www.mappingsuite.com/XMLSchema/2008/3/mappingsuitexpsdocumentwriter" 
xmlns:psk="http://schemas.microsoft.com/windows/2003/08/printing/printschemakeywords">
</psf:PrintTicket>

Niveau document

Le fichier contenant les informations de print tickets au niveau document est /Documents/1/Metadata/Job_PT.xml' (pour le 1er document)


Voici un exemple de contenu :

<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<psf:PrintTicket xmlns:psf="http://schemas.microsoft.com/windows/2003/08/printing/printschemaframework" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1" 
xmlns:nsmappingsuite="http://www.mappingsuite.com/XMLSchema/2008/3/mappingsuitexpsdocumentwriter" 
xmlns:psk="http://schemas.microsoft.com/windows/2003/08/printing/printschemakeywords">
<psf:Feature name="psk:PageMediaType">
<psf:Option name="psk:MEDIATYPE1">
</psf:Option>
</psf:Feature>
</psf:PrintTicket>

Nous pouvons voir qu'une commande de print ticket de médiatype qui a pour valeur la valeur MEDIATYPE1 y a été insérée.

<psf:Feature name="psk:PageMediaType">
<psf:Option name="psk:MEDIATYPE1">
</psf:Option>

En effet la différence entre le contenu du fichier au niveau job (Fichier non changé par les print tickets) et celui-ci est l'insertion de ces lignes.

Exemple de commande pour insérer une commande de medyatype au niveau document :

IBM-i :

CALL PGM(MAP_XPS) PARM('-infile:/home/in.xps' '-set:MEDIATYPE=MEDIATYPE1' '-outfile:/home/out.xps')

Linux/Windows :

map_xps '-infile:/home/in.xps' '-set:MEDIATYPE=MEDIATYPE1' '-outfile:/home/out.xps'

Remarque : L'absence de paramètre -pages:X dans la commande map_xps positionne automatiquement son action (ici le mediatype) au niveau document et non au niveau page


Les différentes options positionnables en XPS sont :

⇒ DUPLEX : gestion du recto/verso

Valeurs possibles :
yes (ou long)   → recto/verso en suivant les bords longs
short   → recto/verso en suivant les bords courts
no   → recto seul


⇒ FRONTSIDE : force l’impression d’une page sur un recto (utilisé en sortie PCL 5 uniquement, et à positionner au niveau page obligatoirement, soit en combinaison avec les options -filter:XXX et -pages:NN)

Valeurs possibles: yes / no


⇒ INPUTBIN / OUTPUTBIN : gestion des bacs d’entrée et de sortie

Valeurs possibles : valeur numérique uniquement


⇒ ORIENTATION : gestion de l’orientation des pages du document

Valeurs possibles:
0   Portrait
1   Paysage
2   Portrait inversé
3   Paysage inversé


⇒ COPY : nombre de copies (document complet ou certaines pages)

Valeurs possibles : valeur numérique uniquement


⇒ STAPLE : gestion de l’agrafage

Valeurs possibles:
1   SaddleStitch (agrafage au milieu de la feuille)
2   StapleBottomLeft (agrafage en bas à gauche)
3   StapleBottomRight (agrafage en bas à droite)
4   StapleDualBottom (agrafage en bas)
5   StapleDualLeft (agrafage à gauche)
6   StapleDualRight (agrafage à droite)
7   StapleDualTop (agrafage en haut)
8   StapleTopLeft (agrafage en haut à gauche)
9   StapleTopRight (agrafage en bas à droite)
10   None (pour stopper l’agrafage)


⇒ MEDIATYPE : gestion du type de papier

Valeurs possibles: valeur alphanumérique (exemples : Archive, Etiquette, Bristol, Préimprimé…)


⇒ NUP : regroupement de 1, 2 ou 4 pages du document initial sur 1 page en sortie

Valeurs possibles : 1, 2 ou 4


⇒ LEFTOFFSET : gestion de la marge gauche

Valeurs possibles: numérique, exprimée en points


⇒ TOPOFFSET : gestion de la marge haute

Valeurs possibles : numérique, exprimée en points


⇒ JOBCUT : commande de rupture de job (pour utiliser le couteau sur les imprimantes équipées)

Valeurs possibles : 0 ou 1


⇒ TOGGLE : commande de décalage du papier dans le bac de sortie des imprimantes

Valeurs possibles : 0 ou 1


Remarque :

Les commutateurs suivants sont respectivement équivalents (sauf pour l’orientation) : -duplex:XXX, -frontside:XXX, -inputbin:NN, -outputbin:NN, -copy:NN, -staple:NN, -mediatype:XXX, -nup:NN, -leftoffset:NN, -topoffset:NN, -jobcut:NN, -toggle:NN.


Exemples :

⇒ Pour paramétrer le recto/verso sur un fichier XPS existant :

map_xps -infile:/tmp/myfile.xps -set:DUPLEX=yes -outfile:/tmp/myoutfile.xps

⇒ Pour paramétrer le recto uniquement sur un fichier XPS existant :

map_xps -infile:/tmp/myfile.xps -set:DUPLEX=no -outfile:/tmp/myoutfile.xps

⇒ Pour forcer l’impression de certaines pages sur un bac d’entrée particulier :

map_xps -infile:/tmp/myfile.xps -set:INPUTBIN=2 -pages:2,3 -outfile:/tmp/myoutfile.xps

⇒ Pour paramétrer le recto sur la première page et recto/verso sur les suivantes :

map_xps -infile:/tmp/myfile.xps -set:DUPLEX=yes -outfile:/tmp/tmpfile.xps
map_xps -infile:/tmp/tmpfile.xps -set:DUPLEX=no -pages:1 -outfile:/tmp/myoutfile.xps