ONYX - 9.0 - Utilisation - Traitements divers/en
Différence entre versions
(Page créée avec « When converting XPS documents to image, additional switches may occur for dimensions and color management: ») |
(Page créée avec « -sizeX:NN: specifies the desired width of the image, in pixels. -sizeY:NN: specifies the desired height of the image, in pixels. ») |
||
Ligne 79 : | Ligne 79 : | ||
When converting XPS documents to image, additional switches may occur for dimensions and color management: | When converting XPS documents to image, additional switches may occur for dimensions and color management: | ||
− | -sizeX:NN : | + | |
− | -sizeY:NN : | + | -sizeX:NN: specifies the desired width of the image, in pixels. |
+ | -sizeY:NN: specifies the desired height of the image, in pixels. | ||
Lorsqu’un seul de ces deux paramètres est renseigné, les dimensions de l’image en sortie sont recalculées en conservant les proportions d’origine. Lorsque les deux paramètres sont renseignés alors les proportions d’origine ne sont plus prises en compte et l’image peut éventuellement être déformée. | Lorsqu’un seul de ces deux paramètres est renseigné, les dimensions de l’image en sortie sont recalculées en conservant les proportions d’origine. Lorsque les deux paramètres sont renseignés alors les proportions d’origine ne sont plus prises en compte et l’image peut éventuellement être déformée. |
Version du 3 janvier 2025 à 10:13
Sommaire
Log management
The -logfile:XXX switch allows you to redirect all messages from a map_xps command into a text file:
map_xps -infile:/tmp/invoice.xps -toPDF -outfile:/tmp/invoice_[[InvoiceID]].pdf -logfile:/var/logs/mylog.log
List of resources
The -listResource switch allows you to display on the screen (standard output) the resources (fonts and images) embedded in an XPS document:
map_xps -infile:/tmp/invoice.xps -listResource
Data extraction in XML
The principle is to create an M-Designer compatible XML file into which all the text data of the XPS document is exported. Each text box in the XPS file becomes an XML field uniquely named by its X and Y positions expressed in points for a resolution of 72 dpi.
Very little used as such, this XML output will find its interest in the additional calculations carried out for the addition of OMR codes.
Example:
map_xps -infile:/tmp/invoice.xps -toXMLDRAW -outfile:/tmp/result/invoice_data.xml
XML data extract:
<?xml version="1.0encoding="UTF-16standalone="yes?> <doc> <page name="NORMAL"> <field name="x289y112">Customer number: 10638</field> <field name="x289y87">Invoice No. 10000 of 11/22/2008</field> … </page> </doc>
Dynamic field replacement
The principle is to use dynamic replacement fields depending on the execution context in an XPS document. To do this, it is possible to define fields awaiting assignment in an XPS file. These fields will then be replaced with a value at run time.
For example, one use may be to print the edition date on a document but this date does not correspond to the exact moment of composition of the document but rather to that of sending the document to the destination printer. At the time of composition, in the M-Designer document model, you must then create a field awaiting replacement in the form [[MY_DATE]] (text box). Once the XPS document is composed, the value of this MA_DATE field will be dynamically replaced by the command line switch -replaceEnv. The replacement value will be found in the system environment. The whole challenge therefore consists of registering a MA_DATE variable in the environment and giving it a value.
Several ways to do this:
- Before composition, it is passed as a parameter by the application sending the data file to be composed in ONYX Server and will therefore be automatically managed in the engine as an environment variable attached to the processing.
Example : argument-o:MA_DATE=20150219
de la commande map_lpr
- During composition processing, it is defined in the execution workflow as a parameter and thus automatically managed in the engine as an environment variable attached to the processing:
- After composition, it can take the value of an index positioned in the XPS document previously exported into the environment by the -environment argument.
Example: at the end of the composition, an invoice.xps document is obtained containing the index MA_DATE. The following command exports the index values into the environment and then uses the environment to dynamically replace the [[MY_DATE]] field:
map_xps -infile:/tmp/invoice.xps -toPDF -outfile:/tmp/invoice.pdf -environment:MY_DATE -replaceEnv
Noticed : All environment variables specific to the Windows or Linux system (DATE, TIME, COMPUTERNAME, etc.) and environment variables specific to ONYX Server (MAP_FILE, MAP_USER, MAP_TITLE, etc.) are natively accessible by this argument -replaceEnv.
Image conversion
When converting XPS documents to image, additional switches may occur for dimensions and color management:
-sizeX:NN: specifies the desired width of the image, in pixels.
-sizeY:NN: specifies the desired height of the image, in pixels.
Lorsqu’un seul de ces deux paramètres est renseigné, les dimensions de l’image en sortie sont recalculées en conservant les proportions d’origine. Lorsque les deux paramètres sont renseignés alors les proportions d’origine ne sont plus prises en compte et l’image peut éventuellement être déformée.
-bpp:NN : précise le nombre de bits par pixels pour le rendu des couleurs.
Valeurs possibles :
1 bpp => deux couleurs (donc noir et blanc)
4 bpp => rendu en 16 couleurs
8 bpp => rendu en 256 couleurs
16 bpp => rendu en 65.536 couleurs
32 bpp => rendu en 16,6 millions de couleurs
Format papier
Trois commutateurs particuliers permettent de modifier les dimensions des pages d’un document XPS :
-paper:XXX
: permet de changer la taille du papier (de la page) sans toucher au contenu (attention aux potentielles pertes de données).
-scale:NN
: permet de changer la taille du contenu sans toucher au papier.
-changeformat:XXX
: permet de changer le format du document en modifiant la taille du papier et en adaptant le contenu avec conservation des proportions.
Pour une mise à l’échelle (scale) du contenu des pages, la valeur est exprimée en pourcentage, de 1 à infini. La taille du papier n’étant pas impactée, il faut faire attention aux potentielles pertes de données avec des valeurs supérieures à 100. En combinaison d’une mise à l’échelle, le commutateur -center peut être utilisé pour centrer le résultat au milieu de page.
Pour modifier la taille des pages, avec adaptation ou non du contenu, les valeurs des commutateurs -changeformat et -paper expriment un format de papier soit à la norme ISO soit en personnalisé.
Valeurs standards ISO possibles : A2, A3, A3 Extra, A4, A4 Plus, A4 Extra, A5, A5 Extra, A6, B4, B5, B5 Extra, B6, Envelope #9, Envelope #10, Envelope #11, Envelope #12, Envelope #14, Envelope B4, Envelope B5, Envelope B6, Envelope C3, Envelope C4, Envelope C5, Envelope C6, Envelope C65, Envelope DL, Envelope Invite, Envelope Monarch, Envelope, Executive, Folio, German Legal Fanfold, German Std Fanfold, Japanese Postcard, Japanese Double Postcard, Ledger, Legal, Legal Extra, Letter, Letter Extra, Letter Plus, Letter Small, Note,PRC 16K, PRC 32K, PRC 32K(Big), PRC Envelope #1, PRC Envelope #2, PRC Envelope #3, PRC Envelope #4, PRC Envelope #5, PRC Envelope #6, PRC Envelope #7, PRC Envelope #8, PRC Envelope #9, PRC Envelope #10, Quarto, Statement, SuperA, SuperB, Tabloid, Tabloid Extra, US Std Fanfold.
Syntaxe pour une taille personnalisée : -changeformat:xx.xx,xx.xx[,cm|in|mm]
⇒ deux valeurs décimales correspondant respectivement à largeur et hauteur
⇒ le séparateur de décimale est le ‘.’
⇒ le séparateur de valeurs est ‘,’ ou ‘;’
⇒ l’unité est optionnelle : cm (par défaut), mm ou in (pour inch)
Exemples :
map_xps -infile:/tmp/invoice.xps -scale:50 [-center] -outfile:/tmp/invoice_out.xps
map_xps -infile:/tmp/invoice.xps -changeformat:A4 -outfile:/tmp/invoice_out.xps
map_xps -infile:/tmp/invoice.xps -changeformat:21,29.7,cm -outfile: :/tmp/invoice_out.xps
Rotation
Pour effectuer une rotation aux documents, le commutateur -rotation:NN est utilisé. L’angle de rotation est exprimé en degré sachant que le sens de rotation, par défaut, étant le sens trigonométrique (= anti-horaire). Sur le principe, tous les angles sont supportés mais seuls les angles droits respectent la cohérence des dimensions de la page d’origine ce qui engendre que les valeurs supportées sont les suivantes : -90 (rotation de 90° dans le sens horaire), 90, 180, 270.
Remarque :
Les valeurs -180 et -270 ne sont pas supportées (page blanche en sortie), il convient alors d’utiliser respectivement 180 et 90.
Exemple :
map_xps -infile:/tmp/invoice.xps -outfile:/tmp/invoice_90.xps -rotation:90
Fusion d'un fond de page sur un document existant
Le principe est que, sur un document XPS existant, il est possible de rajouter un autre document en tant que fond de page ou calque (exemple : ajouter un logo sur une facture existante n’en comportant pas). Le commutateur utilisé est -merge:XXX dont la valeur est le nom complet du fichier XPS externe à ajouter comme calque. L’argument optionnel -mergemode:XXX permet de piloter la manière dont est rajouté ce calque :
- REPEATALL : toutes les pages sont fusionnées en répétant le calque jusqu’à la fin du fichier d’entrée. C’est le fonctionnement par défaut.
Exemple :
- En entrée => fichier de cinq pages (identifiées par 1, 2, 3, 4, 5) et un calque de deux pages (identifiées par a, b)
- En sortie => un fichier de cinq pages identifiées 1a, 2b, 3a, 4b, 5a
- REPEATFULL : toutes les pages sont fusionnées en répétant le calque tant qu’il peut être inséré entièrement.
Exemple : avec les mêmes entrées que précédemment, le fichier en sortie compte cinq pages identifiées 1a, 2b, 3a, 4b, 5 (la dernière page n’étant donc pas modifiée).
-ONCE : le calque n’est inséré qu’une seule fois sur la ou les premières pages du fichier d’entrée.
Exemple : avec les mêmes entrées que précédemment, le fichier en sortie compte cinq pages identifiées 1a, 2b, 3, 4, 5.
Exemple :map_xps -infile:/tmp/invoice.xps -merge:/tmp/logo.xps -mergemode:REPEATALL -outfile:/tmp/invoice_final.xps