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

Dotnet Discussion :

Imprimer un document PDF


Sujet :

Dotnet

  1. #1
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut Imprimer un document PDF
    Bonjour,

    J'ai développé une petite fonction qui permet d'imprimer un fichier pdf à partir d'un chemin donné, en utilisant les stockets (tcpclient et NetworkStream) :

    Je récupère mon fichier PDF a imprimer comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    FileStream _fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
    byte[] data = new byte[_fs.Length];
    _fs.Read(data, 0, Convert.ToInt32(_fs.Length));
    _fs.Close();
    ensuite j'envoie le tableau data au tcpclient pour l'imprimer sur une imprimante.

    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
     
    //envoyer à l'imprimante
                const int _printingPort = 9100;
                TcpClient _tcpClient = new TcpClient();
     
                IPAddress _ipAdress = Dns.GetHostEntry(hostName).AddressList[0];
                if (!_tcpClient.Client.Connected)
                    _tcpClient.Connect(_ipAdress, _printingPort);
     
                NetworkStream _ns = _tcpClient.GetStream();
     
                if (_ns.CanWrite)
                    _ns.Write(data, 0, data.Length);
     
                _ns.Close();
                _tcpClient.Close();
    Le problème sur mon ordinateur ça fonctionne correctement il m'imprime bien mon document avec la mise en page, mais quand j’exécute mon programme sur le serveur, il envoie bien un fichier à l'imprimante, mais à la sortie j'ai des caractères bizarre qui sortent (il perd la mise en page du fichier PDF, comme -ci il imprime le fichier pdf ouvert avec bolc note !! et ce qui est bizarre c'est uniquement sur le serveur que ça me fait ça !!!)

    Ps : la commande PRINT de l'invité de commande réagit de la même façon que mon programme, sur mon poste ça fonction mais pas sur le serveur !

    (acrobat reader est installé sur le serveur)

    Sauriez vous pourquoi il me fait ça ? et comment corriger ?

    merci pour votre aide.

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Est-ce que Adobe Reader est installé sur ton serveur ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut
    oui c'est déjà installé, c'est pour ça que je ne comprends pas !!

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    OkSur ce lien, il lance FoxitReader via ligne de commande, ça peut être une alternative

    Sinon, il y a aussi la copie directe dans le répertoire réseau de l'imprimante : http://geekswithblogs.net/bleepzter/archive/2008/10/09/printing-a-pdf-file-to-a-network-printer-with-c.aspx
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut
    Merci pour les liens,

    Pour le premier lien avec les process, je ne peux pas l'utiliser car je dois passer le Nom de l'imprimante sur la quelle je veux imprimer.

    Le deuxième lien je n'ai pas très bien compris ...

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Le second lien consiste à copier (via FileInfo.CopyTo) ton fichier directement dans le répertoire partagé de ton imprimante.

    Je n'ai jamais testé cette solution, mais ça a l'air de fonctionner donc pourquoi pas ^^
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. Imprimer un document PDF en arrière-plan dans SAP
    Par Kevinsmith74 dans le forum SAP
    Réponses: 2
    Dernier message: 10/02/2010, 13h33
  2. Imprimer des documents pdf
    Par omen999 dans le forum Vos Contributions VBScript
    Réponses: 0
    Dernier message: 16/07/2008, 16h20
  3. [C#]Imprimer un document PDF
    Par Mictou dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/12/2007, 16h48
  4. [VB6] Imprimer un document PDF
    Par Mat_76 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 10/07/2007, 08h46
  5. imprimer des documents pdf ou images
    Par Invité dans le forum Access
    Réponses: 4
    Dernier message: 21/01/2007, 17h19

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