PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Imprimer étiquette à code barre sur brother
Imprimer étiquette à code barre sur brother
Débuté par ludwig.barrachin, 11 sep. 2023 22:26 - 3 réponses
Posté le 11 septembre 2023 - 22:26
Bonjour à tous,

Je me permets de venir vers ce forum afin de solliciter votre aide.
Je suis Windev 23 et je suis débutant.

Je souhaiterais éditer depuis une table mémoire des étiquettes avec un code barre et du texte en x exemplaires vers une imprimante Brother du type QL-810.
Pour cela, j'ai créé un état étiquette avec un champ code barre 128 et un libellé.
La table se compose d'une seule colonne avec x lignes.

La table est alimentée via ce code :

nQuantité est un entier = SAI_Quantité
sRéférence est une chaîne = SAI_Référence

TableSupprimeTout(TABLE_Etiquette)

POUR i = 1 À nQuantité
TableAjoute(TABLE_Etiquette, sRéférence)
FIN


Ensuite je lance l'impression avec :

iAperçu()

iImprimeEtat(ETAT_iMPRESSION)


Sur une imprimante normale, l'aperçu s'affiche correctement et je peux imprimer les étiquettes sans problème. (Mais ce n'est pas ce que je souhaite faire, dommage)

Par contre, si je sélectionne l'imprimante Brother, aucune étiquette ne s'imprime. Rien ne se passe.

J'ai tenté ceci mais pas mieux :

iAperçu()

POUR i = 1 À nQuantité
MonCode est un CodeBarres
MonCode.Contenu = sRéférence
MonCode.TypeCodeBarres = CB_CODE128
MonCode.Options = CB_Gauche + CB_Texte
iImprimeCodeBarre(MonCode, 10, 20, 100, 60)
FIN


Par avance merci pour votre aide et bonne journée.
Posté le 12 septembre 2023 - 09:38
Bonjour,
il faut paramétré le format des étiquettes
MonQRCode.Contenu = Code_client
MonQRCode.TypeContenu = cbTypeTexte
MonQRCode.TypeCodeBarres = CB_QRCODE
// Ne sauvegarde pas les paramètres spécifiés
// Ne sauvegarde pas les paramètres spécifiés
iConfigure("Brother QL-810W",Vrai)
// Ne sauvegarde pas les paramètres spécifiés
iParamètre(iImprimanteDéfaut, Faux)
//Qualité d'impression
iParamètre(iRésolutionY, 300)
//Format de papier utilisateur : 62mm
iParamètre(iHauteurPapier, 898)
iParamètre(iLargeurPapier,290)
iParamètre(iFormatPapier, "259") // 62mm
iFenêtreAbandon(Faux)
iImprimeEtat(ETAT_etiquette2)
Posté le 12 septembre 2023 - 21:52
Bonjour Hugo,

Merci beaucoup pour ton retour.
Je vais tester ça jeudi. J'aurai l'imprimante à disposition.

J'ai naïvement cru que l'imprimante était comptable au langage ZPL.

J'ai alors utiliser ce code :
nQuantité est un entier = SAI_Quantité
sRéférence est une chaîne = SAI_Référence
sRépertoireImpression est une chaîne = fRepExe + "\Impression"
sFichieràImprimer est une chaîne = sRépertoireImpression + "\Impression.txt"
sChoixImprimante est une chaîne = COMBO_Imprimante[COMBO_Imprimante]

POUR i = 1 À nQuantité
sCode = "^XA" + RC + ...

"^BY5,3,250" + RC + ...
"^FO100,5^BC^FD" + sRéférence +"^FS" + RC + ...

"^XZ"
sLISTE += [RC] + sCode
FIN

fSauveTexte(sFichieràImprimer, sLISTE)

iConfigure(sChoixImprimante)

LanceAppliAssociée(sFichieràImprimer, "print")


L'impression s'est bien lancée mais n'a pas du tout imprimé le code barre comme souhaité mais du texte sur 43 étiquettes (e texte du fichier). J'avais une quantité de 2.

Donc, j'espère que je vais pouvoir.

Encore merci à toi et bonne soirée.
Posté le 16 septembre 2023 - 14:10
Bonjour,

Je reviens sur mon sujet avec un peu de retard, désolé.
L'idée était donc de créer une étiquette avec un libellé et un code barre EAN128 en x exemplaires.

Je partage le code en espérant qu'il puisse aider.
// Configuration de l'imprimante
iConfigure("Brother QL-800, Vrai)
iParamètre(iImprimanteDéfaut, Faux)
iParamètre(iRésolutionY, 300)
iParamètre(iNbCopie, nQuantité)
iParamètre(iOrientation, iOrientation_Portrait)
iParamètre(iFormatPapier, 274) // Code spécifique à l'étiquette trouvé dans le manuel de l'imprimante
iFenêtreAbandon(Faux)

// Affiche la fenêtre d'aperçu
iAperçu()

// Imprime le code 128
iImprimeCodeBarre(sRéférence,CB_CODE128,0,7,58,20,CB_CentreH+CB_CentreV+CB_SansTexte)

// Création d'une police de cactère pour le libellé
iCréePolice(1, 10, iGras, "Verdana", iNoir, 0)

// Imprime le libellé en le centrant dans l'étiquette
iImprimeMot(iPosX((iLargeurPage() - iLargeurTexte(sRéférence))/2)+ iPolice(1) + sRéférence)

// Fin de l'impression
iFinImprime


Merci à Hugo pour son aide sans quoi je n'aurai probablement pas réussi à imprimer mes étiquettes.😉

Bonne journée.