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

C Discussion :

Imprimer via Cups ?


Sujet :

C

  1. #1
    Membre très actif Avatar de clampin
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 96
    Par défaut Imprimer via Cups ?
    Bonjour,

    J'aimerai savoir si il est possible, dans un programme en C, imprimer via cups ?

    Si oui, comment ? (Ce serait pour un programme sur Macos 10.4).

    Merci

  2. #2
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Je dirais quelque chose comme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("lpr -P mon_imprimante mon_fichier");
    où mon_imprimante est une des imprimantes listées par la commande:

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  3. #3
    Membre très actif Avatar de clampin
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 96
    Par défaut
    Salut,

    Je reviens à la charge avec mon problème d'impression.

    voici mon code

    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
     
    void printing(void)
    {
     
    	char nomfichier[8];
    	//int jobid;
     
    	system("ls -l");
     
    	fflush(stdin);
     
    	printf("Quel fichier imprimer ? ");
    	scanf("%s",&nomfichier);
     
    	/*if (jobid == 0)
    		puts(ippErrorString(cupsLastError()));
    	jobid = cupsPrintFile("Stylus_D88", nomfichier, nomfichier, 0, NULL);*/
     
    	system("lpr -P Stylus_D88 nomfichier");
     
    	return;
     
    }
    Evidement nom de fichier ne va pas... logique, alors j'avais essayé avec le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    system("lpr -P Stylus_D88 %s", nom fichier);
    Bien sur gcc me renvoie une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     too many arguments to function 'system'.
    .

    Je me doute qu'il doit bien y avoir une solution mais là, je cale... si quelqu'un pouvait me mettre sur la voie....

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Il suffit de formatter la chaine de caractères avant de l'utiliser dans la fonction system :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    char cmd[256];
    sprintf(cmd, "lpr -P Stylus_D88 %s", nom fichier);
    system(cmd);

  5. #5
    Membre très actif Avatar de clampin
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 96
    Par défaut
    mais oui évidement...

    pourquoi n'y ais-je pas pensé... merci

  6. #6
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    La fonction system() ne s'utilise pas comme printf(). Essaie de préparer ta chaîne avec strncat() ou sprintf() ou encore snprintf() et de la passer ensuite à system().

    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
    #include <stdio.h>
    #include <string.h>
    /* -tc- ajouter les fichiers:
     *      - http://thierry-chappuis.ftp-developpez.com/codes/mlib/fclean.h
     *      - http://thierry-chappuis.ftp-developpez.com/codes/mlib/fclean.c
     *   au projet
     */
    #include "fclean.h"
     
    void printing(void)
    {
     
        char nomfichier[16] = "";
        char tampon[128] = "lpr -P Stylus_D88 ";
     
        printf("Quel fichier imprimer ? ");
        fflush(stdout);
        fgets(nomfichier, sizeof nomfichier, stdin);
        fclean(nomfichier, stdin);
     
        strncat(tampon, nomfichier, sizeof tampon - strlen(tampon) - 1);
        system(tampon);
     
        return;
     
    }
    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Imprimer via process
    Par bobjoumi dans le forum C#
    Réponses: 13
    Dernier message: 20/01/2011, 13h37
  2. imprimer via le spool windows ?
    Par rimas2009 dans le forum Documents
    Réponses: 3
    Dernier message: 30/07/2009, 17h42
  3. Est-ce possible via CUPS?
    Par k o D dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 13/03/2008, 14h31
  4. Aperçu d'un document avant de l'imprimer via PHP
    Par c moi dans le forum Langage
    Réponses: 4
    Dernier message: 11/07/2007, 23h05
  5. Imprimer en réseau linux-linux via cups
    Par zamanika dans le forum Réseau
    Réponses: 1
    Dernier message: 08/09/2006, 22h54

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