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

API, COM et SDKs Delphi Discussion :

Comment imprimer un fichier Pdf directement à partir de Delphi ?


Sujet :

API, COM et SDKs Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Comment imprimer un fichier Pdf directement à partir de Delphi ?
    Bojour tout le monde,

    J'essaie d'imprimer le contenu d'un fichier Pdf qui existe dans sur mon disk dure directement à partir de mon apllication (elle est faite par delphi).

    pourriez vous svp m'aider.

    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 207
    Points : 188
    Points
    188
    Par défaut
    Un fichier PDf s'imprime comme n'importe quel autre fichier.

    Si ton pb est de l'ouvrir d'abord dans ton appli AVANT de l'imprimer, va voir sur :
    1 - Google
    2 - les outils freeware sur developpez.com
    3 - une recherche sur le forum

    Des compos pour ouvrir des fichiers PDF, doit y en avoir plusieurs...

    Si j'ai mal compris la question, éclaire ma lanterne

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Je veux imprimer un fichier pdf sans l'ouvrir
    Je veux imprimer un fichier pdf sans l'ouvrir

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 207
    Points : 188
    Points
    188
    Par défaut
    Alors, a mon avis, il te faut simuler un clic sur 'Imprimer' dans le menu popup qui apparait dans l'explorateur windows. PAr contre, ça va forcément ouvrir le fichier avec Acrobat.

    Autrement, cherche dans les compos qui gère le fichier PDF (voir post précedent). A la limite, t'es pas forcé de l'ouvrir en 'visible' (tu peux l'ouvrir dans un composant type Tmemopdf dont la propriété visible est False'.

    D'autre part, est-ce vraiment génant qu'il s'ouvre avant l'impression ?

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Mon but est d'imprimer sans ouvrir le fichier pdf, cad une fois je clique sur un bouton, un programme qui permet de faire cette tâche s'execute.

    Une fois j'avais un probleme de transfert des données d'un rapport Report builder vers un fichier pdf, alors il m'a fallu d'acheter un objet qui permet de réaliser ce travail. Je ne sais si même avec ce cas j'ai besoin d'un autre objet, si non alors est ce qu'il existe des instructions qui permettent de résoudre ce probleme.

    Merci

  6. #6
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    J<ai essaye durant toute la journee à trouver une solution, mais sans susccés, pouviez vous m'aider s.v.p

  7. #7
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Installe Acrobat Reader.
    Vas dans Composant/Imporrter un composant ActiveX ou dans Projet/Importer une bibliotheque de types (solution plus fine mais plus dificile a mettre une place)

    Manipule AcrobatReader via les composants crées

    Ouvre le fichier PDF et imprime le.
    Par contre l'ouverture peut se faire de maniere discrete .... (non visible).

    Regarde aussi du cote des server OLE ca peut aider.
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  8. #8
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut Re: Je veux imprimer un fichier pdf sans l'ouvrir
    Citation Envoyé par toumoham
    Je veux imprimer un fichier pdf sans l'ouvrir
    là, tu rêves il faut quand même bien lire le contenu du fichier pour préparer l'impression du document : ce n'est pas un fichier Texte ni postscript !

    C'est comme si tu voulais imprimer un fichier RTF sans l'ouvrir.

    En fait, j'imagine que tu souhaites plutot l'imprimer sans l'afficher, là ce n'est pas pareil !

    Je te conseilles de faire comme te la conseillé Clorish, surtout que tu peux mettre la propriété du contrôle activeX sur ta fiche à visible=false...

    Après, dans ton code, ça donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TForm1.Button1Click&#40;Sender&#58; TObject&#41;;
    begin
      AcroPDF1.LoadFile&#40;'TonFichier.pdf'&#41;;
      //puis au choix &#58;
      AcroPDF1.Print;
      AcroPDF1.printWithDialog;
      AcroPDF1.printPages&#40;3,5&#41;;
      AcroPDF1.printPagesFit&#40;2,3,1&#41;; //Wordbool &#58; 1=true, 0=false&#41;
      AcroPDF1.printAll;
      AcroPDF1.printAllFit&#40;1&#41;;       //Wordbool &#58; 1=true, 0=false&#41;
    end;
    Bidouilleuse Delphi

  9. #9
    Membre actif
    Avatar de Eric.H
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 220
    Points : 286
    Points
    286
    Par défaut
    Essaye l'API
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        IF ShellExecute&#40;Handle,'print','MON_FICHER.PDF',nil,nil,SW_HIDE&#41;<=32 THEN ShowMessage&#40;SysErrorMessage&#40;GetLastError&#41;&#41;;
    Il faudra installer Acrobat Reader
    Windows imprimera avec le programme rattaché aux extension .pdf. (Donc acrobat)

  10. #10
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Ou bien, tu peux tirer parti du fait que tu peux imprimer en ligne de commande avec ce format là :
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe" /p /h "TonFichier.pdf"
    Ce qui dans ton code, donnerais par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ShellExecute(0,'OPEN','
    "C:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe"',' /p /h "TonFichier.pdf"',Nil, SW_SHOW);
    Bidouilleuse Delphi

  11. #11
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bojour tpout le monde,

    Je m'exuse de ne pas vous avoir répondu avant, j'étais malade.
    Je vais essayer les solutions que vous m'avez donné, et après je vous envoie ce que j'ai eu comme résultat.

    Merci

  12. #12
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Problàme résolu
    Merci tout le monde, j'ai pu imprimer un fichier Pdf à partir d'un application delphi sans faire apparaître le fichier lui même, et cela a été fait grâce l'instruction shellExecute.

    Merci pour une deuxième.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 20/09/2012, 14h13
  2. Imprimer un fichier pdf directement de php
    Par bb62 dans le forum Langage
    Réponses: 2
    Dernier message: 28/06/2007, 09h13
  3. Comment imprimer un fichier pdf
    Par deadstar62 dans le forum Documents
    Réponses: 1
    Dernier message: 18/06/2007, 10h39
  4. [C#] Comment imprimer un fichier .pdf ?
    Par petoulachi dans le forum C#
    Réponses: 9
    Dernier message: 05/10/2005, 16h30

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