Comment créer vos propres modèles à la main.
Jim Evins
evins@snaught.com
Mario Blättermann
mario.blaettermann@gmail.com

Creative Commons Paternité-Partage des Conditions Initiales à l'Identique 3.0

Alain Lojewski
allomervans@gmail.com 2009
Claude Paroz
claude@2xlibre.net 2009
Géode
Geodebay@gmail.com 2010
Bruno Brouard
annoa.b@gmail.com 2011.

# Création manuelle de nouveaux modèles

Cette page est un guide de référence pour créer manuellement des modèles gLabels. Les modèles gLabels sont définis par de simples fichiers XML comme décrit dans la DTD (Définition de Type de Document) : glabels-2.3.dtd (cette DTD décrit aussi d'autres formats XML utilisés par gLabels).

Les fichiers de modèle créés manuellement doivent être placés dans ${HOME}/.glabels et posséder une extension .template.

gLabels recherche les modèles dans plusieurs autres emplacements tels que définis ici :

Emplacement | Description
${prefix}/share/libglabels-3.0/templates | Modèles prédéfinis distribués avec gLabels. ${prefix} est habituellement /usr ou /usr/local en fonction de l'endroit où a été installé gLabels.
${XDG_CONFIG_HOME}/libglabels/templates | Modèles définis par l'utilisateur, créés avec le créateur de modèles de gLabels. Ne pas placer de modèles créés manuellement dans ce répertoire. Si la variable ${XDG_CONFIG_HOME} n'est pas définie, sa valeur par défaut est ${HOME}/.config.
${HOME}/.glabels | Les modèles définis par l'utilisateur et qui ont été créés manuellement, doivent être placés dans ce répertoire. Les versions plus anciennes du créateur de modèles de gLabels (antérieures à 3.0) placent également leurs modèles dans ce répertoire.

Des fichiers modèles finalisés peuvent être envoyés à la liste de diffusion sur les modèles de gLabels pour qu'ils soient éventuellement inclus dans les futures versions de gLabels.

# Hypothèses/précautions

Une page ne contient qu'un seul format d'étiquette ou de carte (s'il y en a plusieurs, il faut la diviser en plusieurs modèles et faire autant de passes d'impression).

Les dimensions peuvent être exprimées en `pt`, `in`, `mm`, `cm` ou `pc`. Par exemple : "`1.0in`" ou "`2.54cm`". Si aucune unité n'est indiquée, c'est le point (`pt`) qui est utilisé par défaut : 1 pt = 1/72e de pouce= 0,352778 mm.

# Fichier modèle

Un fichier modèle contient un seul nœud de haut-niveau `Glabels-templates`.

<?xml version="1.0"?> <Glabels-templates>

...modèles...

</Glabels-templates>

## Exemple de modèle d'étiquette

Exemple de fichier modèle de gLabels contenant un seul nœud `Template`.
<?xml version="1.0"?> <Glabels-templates>

<Template brand="Avery" part="8160" size="US-Letter" description="Mailing Labels"> <Meta category="label"/> <Meta category="mail"/> <Meta product_url="http://www.avery.com/avery/en_us/"/> <Label-rectangle id="0" width="189pt" height="72pt" round="5pt"> <Markup-margin size="5pt"/> <Layout nx="3" ny="10" x0="11.25pt" y0="36pt" dx="200pt" dy="72pt"/> </Label-rectangle> </Template>

</Glabels-templates>

# Nœud `Template`

Un nœud `Template` décrit les caractéristiques d'un seul produit. Il doit contenir une instance de l'un des types de nœud « Label-... » suivants : `Label-rectangle`, `Label-round` ou `Label-cd`.

Propriétés | Description
`brand` | Marque ou fabricant de la fourniture de bureau, par ex. « Avery »
`part` | Numéro de série ou nom de la fourniture de bureau, par ex. « 8160 »
`size` | Format de page, par ex. « `US-Letter` », « `A4` », ...
`description` | Description de la fourniture de bureau, par ex. « Étiquettes postales ».
`_description` | Description traduisible de la fourniture de bureau, par ex. « Étiquettes postales » (utile seulement pour les formats de modèles prédéfinis).
`width` | Largeur de la page. Valide seulement si la propriété « size » contient « Other » (autre).
`height` | Hauteur de la page. Valide seulement si la propriété « size » contient « Other » (autre).
`equiv` | Numéro de la partie équivalente. Si cette propriété est présente, le modèle est un clone d'un autre modèle de la même marque. Le modèle hérite de toutes les propriétés sauf de la marque et du nom de l'autre modèle. Cette propriété equiv doit se rapporter à un modèle défini antérieurement - Actuellement, gLabels ne prend pas en charge les références anticipées.

# Nœud `Meta`

Un nœud `Meta` contient des informations supplémentaires à propos du modèle. Un nœud `Template` peut contenir zéro nœud `Meta` ou plus.

Sous-nœuds | Description

`category`

Une catégorie pour le modèle. Un modèle peut appartenir à plusieurs catégories en ajoutant simplement plusieurs nœuds `Meta` au nœud `Template` parent. Les catégories de modèle sont utilisés dans la boîte de dialogue Nouvelle étiquette de gLabels pour filtrer les résultats des recherches de modèle.

La valeur de cette catégorie doit correspondre à un identifiant de catégorie prédéfini dans le fichier ${prefix}/libglabels-3.0/templates/categories.xml. Les identifiants de catégorie actuellement définis comprennent :

`label`

`round-label`

`elliptical-label`

`square-label`

`rectangle-label`

`card`

`business-card`

`media`

`mail`

`foldable`

`photo`

`product_url` | Un URL pointant sur la page Web du fournisseur du produit spécifié, si elle existe.

Des suggestions pour des catégories supplémentaires peuvent être envoyées à la liste de diffusion des développeurs de gLabels.

Les URL des produits peuvent être d'un intérêt limité car il se peut qu'ils ne soient pas permanents.

# Nœud `Label-rectangle`

Un nœud `Label-rectangle` décrit les dimensions d'une étiquette ou d'une carte de visite de forme rectangulaire (elle peut aussi avoir des angles arrondis).

Propriétés | Description
`id` | Réservé pour une utilisation future. Doit toujours être 0.
`width` | Largeur de l'étiquette/carte
`height` | Hauteur de l'étiquette/carte
`round` | Rayon de l'arrondi du coin. Pour les étiquettes ou cartes à angles droits (cartes de visite), la valeur du rayon doit être 0.
`x_waste` | Quantité d'espace horizontal perdu acceptable (surimpression). C'est utile pour réduire les problèmes d'alignement, notamment avec l'utilisation de fonds colorés (par ex. des images).
`y_waste` | Quantité d'espace vertical perdu acceptable (surimpression). C'est utile pour réduire les problèmes d'alignement, notamment avec l'utilisation de fonds colorés (par ex. des images).

Paramètres de `Label-rectangle`

`Label-rectangle` parameters

# Nœud `Label-ellipse`

Un nœud `Label-ellipse` décrit les dimensions d'une étiquette ou carte de visite de forme elliptique.

Propriétés | Description
`id` | Réservé pour une utilisation future. Doit toujours être 0.
`width` | Largeur de l'ellipse
`height` | Hauteur de l'ellipse
`waste` | Quantité d'espace perdu acceptable (surimpression). C'est utile pour réduire les problèmes d'alignement, notamment avec l'utilisation de fonds colorés (par ex. des images).

Paramètres de Label-ellipse

Paramètres de `Label-ellipse`

# Nœud `Label-round`

Un nœud `Label-round` décrit les dimensions d'une étiquette ronde pleine (pas pour un CD).

Propriétés | Description
`id` | Réservé pour une utilisation future. Doit toujours être 0.
`radius` | Rayon (la moitié du diamètre) d'une étiquette ronde
`waste` | Quantité d'espace perdu acceptable (surimpression). C'est utile pour réduire les problèmes d'alignement, notamment avec l'utilisation de fonds colorés (par ex. des images).

Paramètres de `Label-ellipse`

`Label-ellipse` parameters

# Nœud `Label-cd`

Un nœud `Label-cd` décrit les dimensions d'une étiquette de CD, de DVD ou de mini CD.

Propriétés | Description
`id` | Réservé pour une utilisation future. Doit toujours être 0.
`radius` | Rayon extérieur de l'étiquette
`hole` | Rayon du trou central
`width` | Si présent, l'étiquette est découpée à la largeur indiquée (utile pour les « mini CD »).
`height` | Si présent, l'étiquette est découpée à la hauteur donnée (utile pour les « mini CD »).
`waste` | Quantité d'espace perdu acceptable (surimpression). C'est utile pour réduire les problèmes d'alignement, notamment avec l'utilisation de fonds colorés (par ex. des images).

Paramètres de `Label-cd`

CD label parameters

# Nœuds `Markup`

Le modèle peut comporter des nœuds « markup » optionnels. Ces nœuds s'utilisent pour décrire un simple ensemble de lignes de marquage visibles sur le canevas de tracé de glabels, mais invisibles à l'impression. Ces lignes peuvent représenter des marges, des lignes de pliage, des lignes de centrage, des zones spécialisées ou d'autres indications pour aider l'utilisateur d'un modèle.

## Nœud `Markup-margin`

Un nœud `Markup-margin` délimite la marge autour d'une étiquette.

Propriétés | Description
`size` | Taille de la marge, c'est-à-dire la distance de la ligne de marge jusqu'au bord de l'étiquette ou de la carte.

## Nœud `Markup-line`

Un nœud `Markup-line` décrit le tracé d'une droite de marquage.

Propriétés | Description
`x1` | Abscisse x de l'origine du segment de droite.
`y1` | Ordonnée y de l'origine du segment de droite.
`x2` | Abscisse x de l'extrémité du segment de droite.
`y2` | Ordonnée y de l'extrémité du segment de droite.

## Nœud `Markup-circle`

Un nœud `Markup-circle` décrit le tracé d'un cercle de marquage.

Propriétés | Description
`x0` | Abscisse x du centre du cercle.
`y0` | Ordonnée y du centre du cercle.
`radius` | Rayon du cercle.

## Nœud `Markup-rect`

Un nœud `Markup-rect` décrit le tracé d'un rectangle de marquage.

Propriétés | Description
`x1` | Abscisse x du coin supérieur gauche du rectangle.
`y1` | Ordonnée y du coin supérieur gauche du rectangle.
`w` | Largeur du rectangle.
`h` | Hauteur du rectangle.
`r` | Rayon de l'arrondi des coins du rectangle.

## Nœud `Markup-ellipse`

Un nœud `Markup-ellipse` décrit le tracé d'une ellipse de marquage.

Propriétés | Description
`x1` | Abscisse x du coin supérieur gauche du rectangle exinscrit dans l'ellipse.
`y1` | Ordonnée y du coin supérieur gauche du rectangle exinscrit dans l'ellipse.
`w` | Largeur de l'ellipse.
`h` | Hauteur de l'ellipse.

# Nœud `Layout`

Un nœud `Label` peut contenir plusieurs nœuds `Layout` enfants. Si les étiquettes sont placées dans une trame de grille simple, un seul nœud suffit. Si les étiquettes sont disposées dans plusieurs grilles, comme pour le motif décalé d'un mur de briques, plusieurs nœuds `Layout` seront nécessaires.

Un exemple courant d'agencement multiple est une feuille contenant trois étiquettes de CD :

Page d'étiquettes pour CD

CD label sheet

Il est possible d'attribuer les deux étiquettes de gauche à une grille en supposant qu'il est possible de définir correctement les coordonnées de l'étiquette supérieure gauche et la distance à la deuxième étiquette. La distance par rapport au bord gauche est commune aux deux étiquettes. La troisième sur le côté droite n'a aucune distance en commun avec les autres, c'est pourquoi il faut définir un deuxième agencement avec des coordonnées spécifiques pour le coin supérieur gauche de cette étiquette.

Vous pouvez définir plusieurs agencements uniquement si les étiquettes sur la feuille ont la même forme. Si votre feuille contient des formes différentes, vous devez définir chaque forme séparément dans un autre modèle. Les versions futures de gLabels seront probablement capables de concaténer de telles feuilles contenant des formes différentes dans un seul modèle.

Une étiquette unique peut toujours être considérée comme une grille à un seul élément.

Propriétés | Description
`nx` | Nombre d'étiquettes/cartes dans la grille (horizontalement).
`ny` | Nombre d'étiquettes/cartes dans la grille (verticalement).
`x0` | Distance entre le bord gauche de la page et le bord gauche de la première colonne d'étiquettes/cartes dans la disposition.
`y0` | Distance entre le bord supérieur de la page et le bord supérieur de la première rangée d'étiquettes/cartes dans la disposition.
`dx` | Pas horizontal de la grille.
`dy` | Pas vertical de la grille.

Paramètres de `Layout`

Layout Parameters