Comment créer vos propres modèles à la main.
Jim Evins
evins@snaught.com
Mario Blättermann
mariobl@gnome.org

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

# 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).

Distances can be expressed in units of `pt`, `in`, `mm`, `cm`, or `pc`. For example: "`1.0in`" or "`2.54cm`". If no units are specified, computer points (`pt`) will be assumed (1 pt = 1/72 in = 0.352778 mm).

# Fichier modèle

A template file contains a single `Glabels-templates` top-level node.

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

...modèles...

</Glabels-templates>

## Exemple de modèle d'étiquette

Example gLabels template file containing a single `Template` node.
<?xml version="1.0"?> <Glabels-templates>

<Template brand="Avery" part="8160" size="US-Letter" description="Étiquettes postales"> <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>

# Template Node

A `Template` node describes a single stationery product. It must contain one instance of any type of Label node (`Label-rectangle`, `Label-round`, or `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` | Size of sheet. E.g., "`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.

# Meta Node

A `Meta` node contains some additional information about the template. A `Template` node may contain zero or more `Meta` nodes.

Sous-nœuds | Description

`category`

A category for the template. A template can belong to multiple categories by simply adding multiple `Meta` nodes to the parent `Template` node. Template categories are used by the gLabels New Label Dialog to filter the results of template searches.

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.

# Label-rectangle Node

A `Label-rectangle` node describes the dimensions of a single label or business card that is rectangular in shape (may have rounded edges).

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).

Label-rectangle parameters

Label-rectangle parameters

# Label-ellipse Node

A `Label-ellipse` node describes the dimensions of a single label or business card that is elliptic in shape.

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).

Label-ellipse parameters

Label-ellipse parameters

# Label-round Node

A `Label-round` node describes the dimensions of a simple round label (not a 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).

Label-ellipse parameters

Label-ellipse parameters

# Label-cd Node

A `Label-cd` node describes the dimensions of a CD, DVD, or business card 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).

Label-cd parameters

Paramètres pour étiquette de CD

# Markup Nodes

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.

## Markup-margin Node

A `Markup-margin` describes a margin along all edges of a label.

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.

## Markup-line Node

A `Markup-line` node describes a markup line.

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.

## Markup-circle Node

A `Markup-circle` describes a markup circle.

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

## Markup-rect Node

A `Markup-rect` describes a markup rectangle.

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.

## Markup-ellipse Node

A `Markup-ellipse` describes a markup ellipse.

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.

# Layout Node

A label node may contain multiple `Layout` children. If labels are arranged in a simple grid pattern, only one layout is needed. However, if labels are arranged in multiple grids, such as a running bond pattern, multiple `Layout` tags can be used.

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

Page d'étiquettes pour CD

Page d'étiquettes pour CD

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.

Layout parameters

Layout Parameters