IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

[D7] Impression code-barres sur une imprimante d'étiquettes


Sujet :

Delphi

  1. #1
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Points : 420
    Points
    420
    Par défaut [D7] Impression code-barres sur une imprimante d'étiquettes
    Bonjour à tous,

    Je croit que j'ai essayé tous les générateurs d'états (fastReport, freeReport, reportBuilder, Rave) et c'est toujours le même problème qui revient:

    J'ai une imprimante Zebra TLP2844 en 203 dpi, et lorsque je veux essayer d'imprimer une étiquette contenant un code à barres, celui-ci prends 2 fois plus de place qu'il ne devrait (même dans l'aperçu).
    Résultat, sur une étiquette de 76*51 (c'est loin d'être les plus petites), je ne peux mettre que 12 caractère maximum dans un code 39 par exemple.

    La barre minimum d'un code occupe 2 points de points de l'imprimante.
    Un logiciel d'édition d'étiquette (anyLabel, zebraDesigner, ...) est capable de m'en sortir de 2 fois plus petits.

    J'ai essayé de jouer avec les propriété barWidth et ratio, ça le réduit, mais ca me rend un code illisible.

    Avez vous une solution ?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Points : 8 513
    Points
    8 513
    Par défaut
    Ton étiquette sera toujours la même globalement ?

    Le mieux serait de faire un script pré-généré avec des balises que tu remplaces par les bonnes données.
    Tu as juste besoin d'un logiciel de code à barres (Zebra en fournisse un normalement) pour générer ton script de base. Après il te reste plus qu'a remplir les balises et d'envoyer le script en Généric/Text à l'imprimante.

  3. #3
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Points : 420
    Points
    420
    Par défaut
    Bonjour Malatar,

    J'aimerais passer par l'éditeur d'état... Il faut que l'utilisateur puisse modifier la mise en page (et la taille de l'étiquette).

    J'ai bien renseigné dans l'état, l'imprimante à utiliser, mais ca ne lui fait ni chaud ni froid.
    Dans un logiciel d'édition d'étiquettes, quand on change d'imprimante et qu'elles n'omt pas la même résolution, le code à barres change de taille automatiquement.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 488
    Points : 397
    Points
    397
    Par défaut
    Il n'y a que les codes à barres qui sont affectés par ce problème ? Ou bien tout ce qui est imprimé ?

  5. #5
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Points : 420
    Points
    420
    Par défaut
    Hummm, je ne me suis pas penché sur le reste... C'était moins important.

    Je le fait de suite et te répond.

    Merci pour ton aide.

  6. #6
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Points : 420
    Points
    420
    Par défaut
    Je viens d'imprimer un texte de taille 8:
    "Bonjour tout le monde, j'ai une de ces faims aujourd'hui."

    anylabel m'a rendu:
    Bonjour tout le monde, j'ai une de ces faims (55 mm)
    aujourd'hui (13 mm)

    ReportBuilder m'a rendu:
    Bonjour tout le monde, j'ai une de ces (66 mm)
    faims aujourd'hui (30 mm)

    C'est étrange (68 contre 99), il n'y a pas de coeff logique.

    J'essaye avec FartReport et j'édite ce post.
    [EDIT]
    Fast report rend exactement le même chose qu'anylabel (qui respecte bien la résolution)
    [/EDIT]

  7. #7
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Points : 420
    Points
    420
    Par défaut
    Oups, je n'était pas avec le même police sous ReportBuilder...

    Donc, en arial 8, les 3 me donnent la même chose.
    Ca vient bien du composant code barres.

  8. #8
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 455
    Points : 5 900
    Points
    5 900
    Par défaut
    salut

    quelque soit le générateur d'état que tu utilise il te faudra un composant
    particulier le plus simple serait de derivé a partir d'une image

    @+ Phil

  9. #9
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Points : 420
    Points
    420
    Par défaut
    Bonjour anapurna,

    Veux tu dire que les composants fournits avec l'interface sont mauvais ?

    Faire une image... Je ne vois pas trop comment je pourrais faire ça. Il faut que cela reste asser simple et intuitif pour l'utilisateur qui éditerait un état.
    De plus, mon code barre est attaché à une donnée, il faudra la construire à chaque boucle ?
    Et vérifier que lors du redimensionnement, elle respecte bien un coeff rond (*1, *2, *3, ...).

    M'a pas l'air aisé tout ça... Ca m'effraie plutot ta solution

  10. #10
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 455
    Points : 5 900
    Points
    5 900
    Par défaut
    salut

    je ne connait pas tes solutions
    le truc pour moi etait de creer une "image" de ton code barre comme cela
    il pouvait etre mise a l'echelle de facon automatique
    par contre si tu me dis qu'il existe deja de tel composants dans ton generateur il faut peut etre voir si les elements qu'il recupere coresponde bien a la valeur de tes etiquettes et si la mise a l'echelle est correcte

    PS : Si tu as les source bien evidement

    @+ Phil

  11. #11
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Points : 420
    Points
    420
    Par défaut
    Oui,les générateurs d'états cités ci-dessus proposent un composant code barres, seulement je n'arrive pas à en faire ce que je veux.

    Quand je le pose sur mon état, il n'est pas adapté à la résolution de l'imprimante.. Il fait toujours la même taille.
    Et comme mon imprimante à une résolution faible, ca pose problème.

  12. #12
    Membre habitué
    Inscrit en
    Juin 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 207
    Points : 161
    Points
    161
    Par défaut
    Salut, je connais bien les imprimantes Zebra, et à mon avis, le plus simple, ce serait d'envoyer la trame d'impression au format texte.

    En effet, dans les différents projets que j'ai eu à mettre en oeuvre, le fonctionnement de l'imprimante était le suivant:

    1) Génération d'un masque d'étiquette avec un logiciel (CodeSoft)
    2) Séparation des données fixes (images) des données variables (n° de série)
    3) Sauvegarde des données fixes dans la mémoire de l'imprimante (carte mémoire PCMCIA)
    4) Envoie d'un fichier avec les données variables lorsqu'on a besoin d'imprimer l'étiquette.

    En sachant que:
    - On peut très bien ne pas sauvegarder les données fixes dans l'imprimante, mais du coup, l'envoie de la trame est plus long (plus de données à envoyer à l'imprimante)
    - Les données envoyées à l'imprimante (images comprises) sont auu format texte, donc pas de soucis pour générer "à la volée" de nouvelles données.

  13. #13
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Points : 420
    Points
    420
    Par défaut
    Je ne compte pas me limiter au code 39, je n'ai cité que lui seulement pour l'exemple.
    De plus, ca m'oblige à bricoler pas mal l'éditeur d'état sans être sur que ce soit mieux.

    Bonjour Gaadek,

    J'avais pensé à envoyer directement du code EPL2 (je ne veux pas compliquer la tache de l'utilisateur en lui imposant de charger des templates), mais ca imposait, malgré tout, de faire une interface utilisateur pour la mise en page (qui n'aurait pas forçement été fidèle à l'impression)... et à ce que l'imprimante soit branchée en port série (ce que je ne veux pas imposer)...

    De plus, c'est tout de même dommage, car j'utilise un éditeur d'état pour sortir des A4, ca aurait été bien qu'il fasse les 2 taches.

    Mais je garde ta solution sous le coude, au cas ou je ne trouve pas la solution que je désire.
    (si tu connais un moyen pour envoyer de l'EPL par le driver, je suis prenneur).

  14. #14
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 190
    Points : 218
    Points
    218
    Par défaut
    essaye voir de generer une image de ton code barre a partir du composant "Barcode Component v.1.27" disponible sur torry puis de l'imprimer en tant qu'image

  15. #15
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Points : 420
    Points
    420
    Par défaut
    Bonjour WolffN,

    Quand je fait "Print", il me sort 2 étiquettes vides.

    Mais si je fait "Print Form", il me sort 2 étiquettes imprimées.... Et là, c'est encore pire, le code à barre est 3 fois sa taille minimum.

  16. #16
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Points : 420
    Points
    420
    Par défaut
    Bon, il me semble avoir mis le doigt sur quelque chose.
    Dans FastReport comme dans ReportBuilder, il y a 2 propriétés:
    BarWidth et WideBarRatio.

    Si BarWidth est inchangeable pour le code39 (que j'utilise comme référence pour mes tests), pas WideBarRatio (qui est par défaut à 3).
    Seulement, je ne sais pas trop comment ca marche.
    Quel est le calcul à faire selon la résolution.

    Voici l'aide de BarWidth: Single;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    This property allows you to change the width of each bar. For barcodes that have a narrow to wide bar ratio, the wide BarWidth is calculated based on the WideBarRatio property. If you have the AutoSize property set to True, the component will resize when this property is changed.
    The standard accepted BarWidth for each symbology is listed below.
     
    Type	Inches	Millimeters	Comment
    Code 128	0.0070 to 0.015	0.1778 to 0.381	Varies based on use.
    Code 39	0.010	0.254	
    EAN-13	0.013	0.3302	
    Int. 2 of 5	0.015	0.381	
    Postnet	0.020	0.508	We strongly recommend using this value for Postnet.
    UPC-A	0.013	0.3302	
    Notes
     
    These are only recommendations, you are free to use whatever BarWidth you choose.
    Further Note: We have successfully printed a Code 128 barcode on a 300 dpi laser printer with a bar width of 0.0070 inches. That is an extremely efficient code!
    Et celle de WideBarRatio: Single;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    This property effects the narrow-to-wide bar ratio for symbologies that have such elements. 
    The value you give this property will be multiplied by the value of BarWidth to get the wide bar width. 
    Most symbologies dictate a wide bar ratio in the 2.0 to 3.0 range. 
    You will want a higher WideBarRatio if your BarWidth is very small. Most applications call for this ratio to be 3.0.
    PS: Je travaille en mm.

    Avez vous une idée ?

  17. #17
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 455
    Points : 5 900
    Points
    5 900
    Par défaut
    salut

    j'ai trouve un composant pour quickreport
    ici
    cherche Barcode Component

    dis moi si il te va sinon vu que l'on as les source on pourra peut etre travaillé dessus pour l'amelioré


    @+ Phil

  18. #18
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 7
    Points : 13
    Points
    13
    Par défaut Avec une police
    Bonjour,
    J'utilise tous les jours une ZEBRA LP2824. J'ai installé le driver windows et je partage l'imprimante sur le réseau de l'entreprise.
    Mes étiquettes sont générées par un prog. Visual Basic qui envoie les datas au driver; donc je ne m'occupe pas du tout du langage spécifique ZEBRA; ce faisant je me prive de la possibilité d'utiliser les fonctionnalités "code barre" de l'imprimante.
    Et pourtant j'imprime des codes barres en code 128 ... tout simplement en utilisant la police code128.ttf ( Ici sur mon site )
    Voila a quoi ressemble le code :
    obj.Font.Name = "Code 128"
    obj.Font.Size = 30
    CodeRéf$ = Code128$(ArtFou$ & ArtRéf$)
    obj.Print CodeRéf$
    La fonction Code128 a été traduite en Delphi. En code39 c'est tellement simple qu'il n'y a pas besoin d'une fonction spécifique, il suffit d'ajouter une * devant et derrière.
    GZ
    Exemple :
    Nom : etiquette.png
Affichages : 2144
Taille : 1,3 Ko

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Bonjour

    Pouquoi ne pas utiliser un logiciel gratuit permettant de générer directement l'étiquette en WYSWYG
    Bonne soirée

  20. #20
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 365
    Points : 41 921
    Points
    41 921
    Billets dans le blog
    65
    Par défaut
    j'edite des etiquettes code barre depuis longtemps avec une ZEBRA (etiquettes faces de boite chaussure) de mon expérience je peut dire que le meilleur moyen
    est d'ecrire directement sur le port //

    en gros j'utilise BAR CODE 6.0 LITE (free) pour créer mon modèle d'etiquette
    (surtout la photo de la chaussure) puis j'en fait un fichier texte (impression dans ) que j'ai tout loisir de triturer au niveau code barre (code articles, pointure,commandes etc ) et quantité à imprimer
    méthode efficace et rapide

    mains un code vaut mieux qu'un discours

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
     
    procedure TLabels.ImprimerDirectClick(Sender: TObject);
    var i,n,k : Word;
        WString : String;  // chaine de travail
        WPointure : String;
        WNom_Complet : String;
        WNom_Partiel : String;
        Lpt2: TextFile;
        Image_Existe : Boolean;
        nF : TextFile;
        FileTxt : String;
        CodeFile : String;
        LDessin: String;
    begin
    if (not Standard.Checked) AND (Commande='') then
      begin
        MessageDlg('Pour un Article non Standard'+#13+
                   'Le N° Commande/Lot doit être renseigné',mtError,[mbOk],0);
        Annee.SetFocus;
        Exit;
      end;
    // verifier si Fichier Image Existe
    FileTxt:=ChangeFileExt(VarImage,'.TXT');
    Image_Existe:=FileExists(FileTxt);
    if not Image_Existe then
          ShowMessage('Fichier Image XLT '+FileTxt+' Inexistant');
    AssignFile(Lpt2,'LPT1');
    Rewrite(Lpt2);
    for i:=0 to 23 do
    begin
      try
         n:=StrToInt(Grille.Cells[i,1]);
         if n>0 then
           begin
      Writeln(Lpt2,'^XA^EG^XZ^XA^MCY^XZ^XA^IDLABSOFT^FS^XZ');
      Writeln(Lpt2,'^XA^LRN^FWN^CFD,24^LH0,0^CI0^PR2^MNY^MTT^MMT^MD4^PON^PMN');
      if Image_Existe then
        begin
         {Charger le texte du dessin}
         AssignFile(nF,FileTxt);
         Reset(nF);
         repeat
           Readln(nF,LDessin);
           if (Pos('~DG',LDessin)>0) then
                 CodeFile:=Copy(LDessin,Pos('~DG',LDessin)+3,8);
           if (Pos('^XG',LDessin)=0) then WriteLn(Lpt2,LDessin);
         until EOF(nF);
         CloseFile(nF);
        end;
        // prepare le code barre
        if EStd then WString:='*'
                else WString:='?';
        WString:=WString+Modele.Text+'-'+Assortiment.text;
        try
            k:=StrToInt(Grille.Cells[i,0]);
            WPointure:=IntToStr(k div 10);
            if (k mod 10 > 0) then WPointure:=WPointure+'«';
        except
            WPointure:=Grille.Cells[i,0];
        end;
        WNom_Complet:=WString+Grille.Cells[i,0];
        WNom_Partiel:='*'+ClientNom.Text+'-'+ClientAssCode.Text;
        // code barre avec libelle si noms différents
        if (CompareStr(ClientNom.Text,Modele.Text)<>0)
           OR (CompareStr(ClientAssCode.Text,Assortiment.Text)<>0)
             then Writeln(Lpt2,'^BY2^FO8,17^BCN,80,Y,N,Y^FD>:>8'+WNom_Complet+'^FS')   // nom_partiel
             else Writeln(Lpt2,'^BY2^FO8,17^BCN,80,N,N,Y^FD>:>8'+WNom_Complet+'^FS');
        if BarCode2.Visible then
         begin
          Writeln(Lpt2,'^BY2^FO8,297^BCN,80,N,N,Y^FD>:>8-'+Commande+'^FS');
          Writeln(Lpt2,'^A0N,31,46^FO30,381^FD-'+Commande+'^FS');
         end;
        Writeln(Lpt2,'^ADN,36,30^FO8,120^FD'+WNom_Partiel+'^FS');  // Nom_Partiel
        Writeln(Lpt2,'^ABN,22,14^FO8,169^FD'+ClientAssort.Text+'^FS');
        Writeln(Lpt2,'^ABN,22,14^FO8,213^FD'+ClientDessus.Text+'^FS');
        Writeln(Lpt2,'^ABN,22,14^FO8,255^FD'+ClientTalon.Text+'^FS');
        Writeln(Lpt2,'^ADN,90,50^FO600,304^FD'+WPointure+'^FS');
        if Image_Existe then Writeln(Lpt2,'^FO450,120^XG'+CodeFile+',1,1^FS');
        Writeln(Lpt2,'^PQ'+IntToStr(n)+',1,0,Y');
        Writeln(Lpt2,'^XZ');
      end;
      except
          on EConvertError do n:=0;
      end;
    end; {next i}
    CloseFile(Lpt2);
    // Reinitialiser-------------
    Modele.Text:='';
    Assortiment.Text:='';
    Standard.Checked:=true;
    Annee.Text:='';
    // Saison.Text:='';
    Numero.Text:='';
    Ligne.Text:='';
    ClientDessus.text:='';
    ClientTalon.text:='';
    BarCode2.Bar_Caption:='+';
    EffacerGrille1Click(Sender);
    Lancement.SelectAll;
    Lancement.Text:='';
    SelectNext(Sender as TwinControl,True,True);
    end;
    je suis a ta dispo pour plus d'infos

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Extraire et reconnaitre un code barre sur une photo
    Par AP dans le forum Traitement d'images
    Réponses: 4
    Dernier message: 28/04/2015, 12h07
  2. Réponses: 1
    Dernier message: 02/12/2013, 21h41
  3. Réponses: 6
    Dernier message: 06/11/2012, 14h41
  4. Edition code à barre avec une imprimante MEO MR-4
    Par am_bra dans le forum Reports
    Réponses: 1
    Dernier message: 06/10/2008, 14h55
  5. Forcer l'impression sur une imprimante
    Par Poussy-Puce dans le forum ASP
    Réponses: 1
    Dernier message: 21/11/2006, 01h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo