Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
ce bout de code est actuellement utilisé pour déclencher une impression
Integer li_no_fichier, li_return, i string lst_ini, ast_repertoire, ast_commande ast_repertoire = "LPT1" li_no_fichier = FileOpen(ast_repertoire, LineMode!, Write!, Shared!, Replace!) //on initialise la commande d'impression //-------------------------------------- if FileWrite( li_no_fichier, 'FR"FORM1"') < 0 then return end if if FileWrite( li_no_fichier, '?') < 0 then return end if if ast_num_support <> "" then if FileWrite( li_no_fichier, upper(trim(ast_num_support))) < 0 then return end if else return end if if FileWrite( li_no_fichier, 'P1') < 0 then return end if if FileClose( li_no_fichier) < 0 then return end if
Notre problématique, est de reproduire ce comportement pour le port USB (à priori USB001)
Quand on remplace ast_repertoire = "LPT1" par ast_repertoire = "USB001" le FileOpen revoie bien 1, donc ok, mais cela s'arrête là.
Merci d'avance
Windows Xp, PB 10.5
Dernière modification par cdtit (27-08-2010 08:02:44)
Hors ligne
Bonjour,
Il existe des fonctions natives pour gérer l'impression.
tu devrais simplement migrer ton code en utilisant les fonctions : PrintOpen, Print, PrintClose, ....
Hors ligne
Merci d'avance de corriger
Hors ligne
buck a écrit:
Bonjour,
Il existe des fonctions natives pour gérer l'impression.
tu devrais simplement migrer ton code en utilisant les fonctions : PrintOpen, Print, PrintClose, ....
Bonjour,
Merci, mais d'une part ceci ne permet pas de choisir son port d'impression.
Et d'autre part, nous avons besoin d'envoyer des données à l'imprimante et pas seulement de déclencher une impression.
Le but étant d'imprimer des codes barre.
Hors ligne
Bonjour, il te suffit de déclarer ton imprimante USB dans Windows, comme toutes les autres.
Ensuite tu choisis cette imprimante avec PrintSetPrinter, puis tu utilises PrintOpen, Print, PrintClose.
Pour info, j'ai utilisé ces commandes pour imprimer des codes barres sur une imprimante Zébra. (en code ZPL, donc pas une "impression classique")
Hors ligne
Nous sommes dans le même cas de figure (imprimante Zebra), et comme nous reprenons le code, aucune expérience de la chose.
Concrètement quel type de syntaxe dois-je utiliser pour imprimer un code barre via pb vers une imprimante Zebra (gx420t)
Hors ligne
Tu installes ton imprimante avec le driver "Generic / Text only" et puis tu lui envoies (via Print) des lignes de code ZPL du genre (les codes barres sont les commandes avec ^BCN) :
^XA ^DFR:PALETTE.GRF^FS ^FO25,35^GB1150,1625,5^FS cadre principal ^FO25,210^GB1150,0,4^FS ligne 1 H ^FO25,385^GB1150,0,4^FS ligne 2 H ^FO25,555^GB1150,0,4^FS ligne 3 H ^FO25,730^GB1150,0,4^FS ligne 4 H ^FO635,35^GB0,175,4^FS ligne 5 V ^FO720,385^GB0,175,4^FS ligne 6 V ^FO920,555^GB0,175,4^FS ligne 7 V ^FO60,60^A0,75,40^FN1^FS ^FO60,130^A0,75,40^FN2^FS ^FO670,50^ARN,0,0^FDEMPLACEMENT LM7 :^FS ^FO975,50^ARN,0,0^FN3^FS ^FO670,85^ARN,0,0^FDEMPLACEMENT RTCIS :^FS ^FO975,85^ARN,0,0^FN4^FS ^FO670,120^ARN,0,0^FDDATE RECEPTION :^FS ^FO975,120^ARN,0,0^FN5^FS ^FO670,155^ARN,0,0^FDNo PALETTE LM7 (fin) :^FS ^FO975,155^ARN,0,0^FN6^FS ^FO60,225^ARN,0,0^FDITEM :^FS ^FO60,270^A0,120,50^FN7^FS ^FO60,400^ARN,0,0^FDIRMS / GCAS # :^FS ^FO60,445^A0,120,70^FN8^FS ^FO755,400^ARN,0,0^FDQUANTITY :^FS ^FO755,445^A0,120,70^FN9^FS ^FO60,575^ARN,0,0^FDLOT # :^FS ^FO60,620^A0,120,70^FN10^FS ^FO955,575^ARN,0,0^FDPALLET TYPE :^FS ^FO955,620^A0,120,70^FN11^FS ^FO60,750^BY3,3,10^BCN,200,Y,N,N,D^FN12^FS ^FO60,1050^BCN,200,Y,N,N,D^FN13^FS ^FO60,1350^BCN,200,Y,N,N,U^FN14^FS ^XZ ^XA ^XFR:PALETTE.GRF ^FN1^FDSGD^FS ^FN2^FDMERS LES BAINS^FS ^FN5^FD^FS ^FN6^FD001^FS ^FN7^FDBO GUCCI GUCBYGUC EDPSPR 30ML XX^FS ^FN8^FD98569081^FS ^FN9^FD2730 EA^FS ^FN10^FDSGME^FS ^FN11^FDNONE^FS ^FN12^FD(91)98569081>8(37)00002730^FS ^FN13^FD(10)SGME>8(90)NONE^FS ^FN14^FD(00)34056800791000017^FS ^XZ
Hors ligne
Merci pour l'exemple, j'obtiens bien une impression, mais c'est le code ZPL "brut" et non pas un code barre.
Cela vient sans doute du fait que je ne trouve trace du "driver "Generic / Text only" ?
Hors ligne
cdtit a écrit:
Cela vient sans doute du fait que je ne trouve trace du "driver "Generic / Text only" ?
Generic > Generic / Text only (sur XP en anglais...)
C'est nécessaire, sinon effectivement c'est le code ZPL qui est imprimé sans être interprété.
Hors ligne