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 :

Programmer en C l'impression sur papier


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    294
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 294
    Par défaut Programmer en C l'impression sur papier
    Bonjour
    j'ai develope un programme C, qui affiche dans execution par exemple
    (Hello All the world)

    je veux que cette phrase sera automatiquement imprimer sur papier??

    quel est l'instruction en qui me permet de realiser cette tache???

  2. #2
    Membre chevronné Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Par défaut
    Sur quel system tu travail ?
    Et est ce que on peut avoir du code pour mieux t'aider ?

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Il n'y a rien de standard pour imprimer spécifiquement sur papier.

    Donc, précise ta plate-forme.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    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
    Il n'y a rien de standard et comme l'a dit cmoibal, la réponse dépend de ton système. Sous Linux, tu peux par exemple enregistrer ce que tu veux imprimer dans un fichier et appeler la commande lp sur ce fichier à l'aide de la fonction standard system().

    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++

    +

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 966
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 966
    Par défaut
    Sous windows, et en parallèle à
    Citation Envoyé par Thierry Chappuis Voir le message
    Il n'y a rien de standard et comme l'a dit cmoibal, la réponse dépend de ton système. Sous Linux, tu peux par exemple enregistrer ce que tu veux imprimer dans un fichier et appeler la commande lp sur ce fichier à l'aide de la fonction standard system().

    Thierry
    et sous réserve que le fichier ne contienne que du texte, tu peux appeler "type le_nom_du_fichier" via system().

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par droggo Voir le message
    Sous windows, et en parallèle à

    et sous réserve que le fichier ne contienne que du texte, tu peux appeler "type le_nom_du_fichier" via system().
    'type' envoie à l'écran. Tu peux rediriger vers un port imprimante (prn, lpt1) à condition que celui-ci ai été 'capturé'. C'est dans les réglages système de l'imprimante.

  7. #7
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 966
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 966
    Par défaut
    Fio,
    Citation Envoyé par Emmanuel Delahaye Voir le message
    'type' envoie à l'écran. Tu peux rediriger vers un port imprimante (prn, lpt1) à condition que celui-ci ai été 'capturé'. C'est dans les réglages système de l'imprimante.
    Oui, au temps pour moi, j'avais oublié la redirection. Je revenais sur le sujet pour corriger.

  8. #8
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    294
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 294
    Par défaut
    windows XP:
    Mon code est simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #include <stdio.h>
    void main()
    {
    printf("Hello all the world");
    }
    lorsque vous le executer sur Microsoft visual C++, cette phrase sera affiche sur l'ecran noir de l'execution bien sur et moi je veux avoir aussi le resultat de cet affichage imprimer sur une page automatiquement
    donc je dois ajouter de code mais quel est l'instruction???!!
    c'est ca le probleme

  9. #9
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Sous Windows, tu abandonnes. Il faut créer un Printer Device Context, puis dessiner le texte dedans, et ensuite je ne sais même pas comment on envoie le tout à l'imprimante...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  10. #10
    Membre émérite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par défaut
    Bonjour,

    Dans la faq de Visual C++, tu as le thème suivant:
    Comment éditer directement sur une imprimante en mode texte ?

    et tu peux toujours aussi consulter ce topic:
    http://www.developpez.net/forums/sho...light=imprimer

    Par contre, cela nécessite de sauvegarder la/les lignes que tu désires imprimer dans un fichier.


  11. #11
    Membre chevronné Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Par défaut
    Vraiment sur Windows, il faut passer par plusieur Bibliothèque specifique a windows ecrite en C++ pour avoir la possiblité de gérer les imprimantes configurés.

    c'est pas si simple à implémenter un système d'impression sous Windows.

    Est ce que c'est possible communiquer evc un service en Windows? si oui on pourra communiquer avec le service d'impression Windows directement, mais la, il aura une interuption au niveau Windows pour demander le choix de l'imprimante, le papier, ...

  12. #12
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 527
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 527
    Par défaut
    Citation Envoyé par cmoibal Voir le message
    Vraiment sur Windows, il faut passer par plusieur Bibliothèque specifique a windows ecrite en C++ pour avoir la possiblité de gérer les imprimantes configurés.
    ...
    Pas forcément besoin de bibliothèques, Windows via ses API permet de faire cela...
    Tout est dans le MSDN.
    Il est souhaitable comme l'a dit Médinoc de créer un HDC..

    Citation Envoyé par ALIAS200 Voir le message
    Bonjour
    j'ai develope un programme C, qui affiche dans execution par exemple
    (Hello All the world)

    je veux que cette phrase sera automatiquement imprimer sur papier??

    quel est l'instruction en qui me permet de realiser cette tache???
    Est-ce que tu as regardé tout de même avec fputs même avec fprintf si c'est pas possible ?

  13. #13
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    Citation Envoyé par cmoibal Voir le message
    Vraiment sur Windows, il faut passer par plusieur Bibliothèque specifique a windows ecrite en C++ pour avoir la possiblité de gérer les imprimantes configurés.

    c'est pas si simple à implémenter un système d'impression sous Windows.
    ??????

    Microsoft aurait réécrit Windows et toute l'API Win32 en c++ sans nous le dire ?

    Non, rien a voir avec C++... Il y a évidemment des frameworks pour imprimer en C++ (MFC, ...), en COM (activeX fournisseurs, ....).

    Mais le sous-système d'impression et les API système pour imprimer sont en C...
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  14. #14
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par ALIAS200 Voir le message
    windows XP:
    Mon code est simple
    Mais il est déjà faux...
    - main() retourne int. Toujours.
    - il est conseillé de terminer une ligne d'affichage correctement, c'est à dire avec '\n'.
    - 'all the world' ne signifie pas 'tout le monde'...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #include <stdio.h>
    int main(void )
    {
       printf("Hello everybody\n");
       return 0;
    }
    L'impression sous Windows est complexe. Tu es sûr que tu veux faire ça ?

    Une alternative serait de créer un fichier texte et d'envoyer celui-ci à l'impression via bloc-note, par exemple. Mais ce ne serait pas automatique (du moins à ma connaissance).

    Dans le temps, il y avait une commande 'print', mais je ne sais si elle existe toujours...
    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
     
    Microsoft Windows XP [version 5.1.2600]
    (C) Copyright 1985-2001 Microsoft Corp.
     
    C:\Documents and Settings\Papou>print
    Aucun fichier à imprimer
     
    C:\Documents and Settings\Papou>help print
    Imprime un fichier texte.
     
    PRINT [/D:périphérique] [[lecteur:][chemin]nom_de_fichier[...]]
     
       /D:périphérique   Spécifie un périphérique d'impression.
     
     
    C:\Documents and Settings\Papou>
    Apparemment, ça existe toujours sous XP. C'est peut être une solution...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       system("print data.txt");

Discussions similaires

  1. Impression Jpg sur papier 15x10
    Par Cjvg2 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 25/11/2013, 20h51
  2. Aucune impression sur les papiers
    Par andrianiaina dans le forum Périphériques
    Réponses: 2
    Dernier message: 02/08/2010, 19h51
  3. Impression (sur papier) avec Python
    Par Teosinte dans le forum Général Python
    Réponses: 2
    Dernier message: 01/02/2009, 12h40
  4. [CR9] impression sur papier à entête
    Par liosec dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 30/08/2004, 10h52
  5. [TP]Impression sur port USB
    Par haypo dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 18/07/2003, 11h09

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