← Tous les articles

2026-10-05

Automatisez l'impression d'étiquettes directement depuis Google Sheets

Automatisez l'impression d'étiquettes directement depuis Google Sheets
pdf labels barcodes label merge browser based graphical layout editor google sheets addin microsoft excel addon electronic shelf labels esl barcode3 labels label editor

Automatisez l’impression d’étiquettes directement depuis Google Sheets

Vous avez déjà les données. Elles se trouvent dans un tableur — références, noms de produits, codes-barres, prix, numéros de lot — et c’est la source de vérité unique que toute l’équipe modifie réellement.

Puis quelqu’un doit exporter ces lignes en CSV, ouvrir un logiciel de conception d’étiquettes, réimporter les données, réaligner chaque champ et imprimer le lot. Encore. Et encore, à chaque changement de prix ou à chaque nouvelle référence.

Si vous voulez automatiser l’impression d’étiquettes depuis Google Sheets, l’objectif est simple : le tableur reste où il est, et les étiquettes sortent de l’autre côté. Pas d’étape d’export, pas de réimport, pas d’aller-retour de réalignement des champs. Cet article détaille la configuration initiale, le pipeline et la gestion des erreurs nécessaires pour rendre cela fiable.

Pourquoi l’impression manuelle d’étiquettes depuis Google Sheets fait perdre du temps

La tâche répétitive a toujours la même forme :

  • Exporter les lignes concernées en CSV.
  • Ouvrir le logiciel de conception d’étiquettes et charger le fichier comme source de données.
  • Remapper les colonnes aux champs, parce que l’ordre d’export a encore changé.
  • Imprimer chaque lot à la main, un fichier à la fois.

Le coût caché n’est pas les dix minutes par lot. C’est que n’importe quelle modification de données — une mise à jour produit, un changement de prix, une nouvelle référence — impose un aller-retour manuel complet avant qu’une seule étiquette n’existe. Votre tableur est en direct ; vos étiquettes ne le sont pas.

Deux groupes ressentent cela le plus :

  • Les développeurs qui construisent des outils internes, à qui on demande de « juste brancher l’impression » et qui finissent par maintenir un script d’export fragile.
  • Les utilisateurs finaux dans les stocks, l’expédition et la vente au détail, qui se soucient d’une seule chose : que l’étiquette sur l’étagère ou le carton corresponde aux données qu’ils viennent de saisir.

À quoi l’automatisation devrait ressembler à la place : vous modifiez une ligne, vous imprimez. Le tableur est l’interface, et le système d’étiquettes est le moteur de rendu.

C’est exactement là que s’inscrit le Next Generation Label Printing System (LPSNG) — un module complémentaire managé qui transforme Google Sheets en interface d’impression d’étiquettes.

Configuration initiale : connecter Google Sheets à votre système d’étiquettes

La configuration se fait une seule fois. Ensuite, l’impression se fait en un clic.

1. Installez le module complémentaire. Récupérez le module Google Sheets depuis la page des intégrations LPSNG et autorisez-le sur votre compte LPSNG. Le module figure parmi les intégrations de la plateforme — aux côtés de l’interface Excel, de la barre latérale réutilisable et de l’API de scripts de champs.

2. Comprenez l’enregistrement OAuth2. LPSNG utilise un protocole d’enregistrement OAuth2 simplifié pour connecter des systèmes externes : une seule URL connecte le module à votre instance LPSNG. Cette URL est la même que vous utilisiez l’édition cloud hébergée ou une station d’impression sur votre propre matériel. Vous vous enregistrez une fois ; le module obtient un jeton et le rafraîchit pour vous. Vous ne collez jamais de jeton dans une cellule.

3. Préparez la feuille. Une ligne par étiquette. Des en-têtes de colonnes qui correspondent proprement aux champs d’étiquette :

Colonne de la feuille Champ d’étiquette
product_name Nom du produit (bloc de texte)
barcode Symbole code-barres (1D/2D)
price Texte du prix
batch_no Numéro de lot

Gardez la ligne d’en-tête stable. Renommer barcode en bar_code plus tard est la façon la plus courante de casser une configuration qui fonctionne.

4. Créez la mise en page. Construisez ou importez une mise en page d’étiquette dans le studio d’étiquettes LPSNG, puis liez les colonnes de la feuille aux champs de la mise en page afin que chaque ligne produise exactement une étiquette. Les codes-barres sont gérés nativement — LPSNG prend en charge une gamme de formats de codes-barres 1D et 2D, donc une colonne barcode produit un symbole scannable sans outillage supplémentaire.

5. Choisissez la cible de sortie une fois pour toutes. Téléchargement PDF, impression directe vers une imprimante configurée, ou PNG pour les aperçus. Vous pouvez prévisualiser un lot en PDF puis envoyer la même mise en page vers une imprimante thermique.

Si vous êtes encore en train de choisir une plateforme, le Guide d’achat de logiciels de conception d’étiquettes pour intégrateurs système couvre les critères d’évaluation plus en détail.

Le pipeline automatisé : de la modification de la feuille à l’étiquette imprimée

Une fois le mapping en place, il y a deux façons de déclencher la sortie.

À la demande. Ouvrez la barre latérale du module, sélectionnez la ligne ou la plage qui vous intéresse, et imprimez. C’est le chemin quotidien pour une réimpression unique ou un prix corrigé.

Par lot avec un filtre. Lancez l’impression sur toutes les lignes correspondant à un filtre — par exemple, tout ce qui est marqué status = pending dans une colonne auxiliaire. Le module soumet la sélection au service web LPSNG, qui génère chaque ligne selon votre mise en page enregistrée et met les tâches en file d’attente.

Logique au niveau des champs avant impression

Les vraies feuilles sont désordonnées. Les dates arrivent sous forme d’horodatages, les chiffres de contrôle manquent, et la moitié de vos noms de produits ont besoin d’un suffixe de taille. Plutôt que de tout nettoyer dans la feuille, attachez un bloc de script Python au champ d’étiquette lui-même. Les scripts de champs s’exécutent avant l’impression et peuvent lire et modifier la valeur entrante :

# Illustrative field script attached to the "price" label field.
# The shape is the same for every field: take the incoming value,
# return the string that should end up on the label.
def prepare(value):
    amount = float(value)
    return f"{amount:,.2f} EUR"

Le même mécanisme gère le formatage des dates, la concaténation de deux colonnes en un seul bloc d’adresse, ou le calcul d’un chiffre de contrôle à partir d’un numéro d’article brut. Notez qu’il s’agit de logique de champ — elle modifie ce qui est imprimé, jamais ce qui est stocké dans la feuille.

La méthode difficile, pour contexte

Vous pourriez vous passer du module. L’API du service web accepte des tâches avec des jetons OAuth2 et des charges utiles JSON brutes — c’est le même appel que fait le module. Mais alors c’est vous qui gérez le rafraîchissement des jetons, la logique de nouvelle tentative, le mapping des colonnes et chaque changement cassant dans votre propre script. Si vous voulez spécifiquement ce niveau de contrôle, le tutoriel sur le service web couvre le modèle requête/réponse.

La méthode managée est la plus courte : modifiez la feuille, cliquez sur imprimer, récupérez les étiquettes. Le module effectue l’appel au service web pour vous.

Surveiller les tâches et gérer les erreurs

L’impression, c’est de l’E/S, et les E/S échouent. Ce qui compte, c’est de pouvoir voir quelles lignes ont échoué et de ne relancer que celles-là.

  • Utilisez la file d’attente des tâches. Les tâches d’impression soumises apparaissent dans la file d’attente LPSNG avec leur statut, ce qui vous permet de remonter d’une tâche aux lignes de la feuille qui l’ont produite.
  • Connaissez les suspects habituels. La plupart des échecs relèvent de trois cas : un champ obligatoire est vide dans une ligne, l’imprimante cible est hors ligne, ou un champ de mise en page ne correspond plus à une colonne de la feuille (généralement après un renommage de colonne).

Concevez la feuille pour que les nouvelles tentatives soient peu coûteuses. Ajoutez une colonne de statut, ou dérivez-la avec une formule :

=IF(OR(B2="",C2=""),"BLOCKED","READY")

Désormais, un échec partiel est un filtre, pas une réimpression de tout le lot : corrigez la ligne, remettez-la à READY, et imprimez uniquement les lignes READY.

Pour des volumes plus élevés ou des exécutions sans surveillance, le LPSNG Player — le moteur d’impression en ligne de commande autonome — prend un package plus un fichier de données et produit des PDF, PNG, JSON ou des tâches d’impression directe. L’invocation a toujours la même forme : pointez-le vers un package, pointez-le vers des données, dites-lui quoi produire.

# Package in, data in, files out. Check the Player documentation
# for the exact flag names in your release.
lpsng-player \
  --package ./labels/retail-shelf.lpsng \
  --data ./exports/price-update.csv \
  --out ./out/labels.pdf

Gardez un œil sur les notes de version et le blog LPSNG pour les changements du module et du service web qui affectent le comportement de soumission des tâches — c’est là que les questions sur les changements de comportement trouvent d’abord une réponse.

Bonnes pratiques pour une impression d’étiquettes fiable pilotée par tableur

  • Traitez la feuille comme une base de données. En-têtes stables, un enregistrement par ligne, pas de cellules fusionnées dans la plage de données. Les cellules fusionnées sont la première cause du « pourquoi la ligne 47 imprime-t-elle la mauvaise chose ».
  • Validez avant d’imprimer. Attrapez les codes-barres vides ou les valeurs mal formées avec des formules de feuille ou un script de champ Python, plutôt que de les découvrir sur une étiquette physique.
  • Versionnez vos mises en page. Un changement de design ne devrait pas casser silencieusement un mapping de feuille existant. Gardez la liaison explicite et testez la mise en page sur un échantillon de lignes réelles.
  • Séparez le test de la production. Une seconde feuille, ou une colonne de filtre, garde les expérimentations loin de l’imprimante.
  • Utilisez les rôles dans les équipes multi-utilisateurs. Les fonctionnalités entreprise de LPSNG — multi-utilisateur, multi-région, multi-appareil — vous permettent de contrôler qui modifie les mises en page par rapport à qui imprime seulement, ce qui élimine entièrement la catégorie d’échecs liée aux modifications accidentelles.

FAQ

Dois-je écrire du code pour automatiser l’impression d’étiquettes depuis Google Sheets ?

Non. Le module Google Sheets du Next Generation Label Printing System gère la connexion et la soumission des tâches pour vous. Vous installez le module, l’autorisez une fois via le flux d’enregistrement OAuth2, mappez les colonnes de la feuille aux champs d’étiquette, et imprimez. Écrire votre propre intégration contre l’API du service web est possible mais pas nécessaire.

Puis-je imprimer sur une imprimante thermique, ou seulement en PDF ?

LPSNG peut générer des étiquettes en PDF ou PNG et peut aussi envoyer des tâches pour impression directe vers une imprimante configurée. Le module vous laisse choisir la cible de sortie, donc vous pouvez prévisualiser en PDF puis imprimer sur votre imprimante thermique depuis la même mise en page.

Que se passe-t-il si ma feuille contient des centaines de lignes ?

Le module soumet le lot au service web LPSNG, qui génère chaque ligne comme une étiquette et met les tâches en file d’attente. Vous pouvez suivre la progression dans la file d’attente des tâches. Pour des exécutions sans surveillance ou à très fort volume, le moteur en ligne de commande LPSNG Player est conçu pour traiter des entrées package-plus-données et produire des PDF, PNG, JSON ou des impressions directes.

Cela fonctionne-t-il avec l’édition embarquée sur un Raspberry Pi ?

Oui. L’édition embarquée exécute l’intégralité de LPSNG sur un ordinateur monocarte tel qu’un Raspberry Pi, et le même enregistrement OAuth2 et la même interface de service web sont utilisés pour connecter le module Google Sheets. C’est utile pour les stations d’impression qui doivent fonctionner indépendamment de l’édition cloud.

Conclusion

Le tableur est déjà votre base de données produits, votre liste de prix et votre manifeste d’expédition. Le transformer en imprimante d’étiquettes est une connexion unique : installez le module, autorisez une fois, mappez les colonnes aux champs, choisissez une cible de sortie. Ensuite, automatiser l’impression d’étiquettes depuis Google Sheets est un clic — pas un export, un import et un réalignement.

Prochaine étape : installez le module Google Sheets depuis la page des intégrations, créez une mise en page dans le studio d’étiquettes, et imprimez votre premier lot piloté par une feuille de test de cinq lignes.

Articles similaires

EU label: AI-generated content