Imprimer un fichier PDF [Résolu]

Messages postés
72
Date d'inscription
lundi 29 juillet 2002
Dernière intervention
27 décembre 2012
- - Dernière réponse : cs_jeje2
Messages postés
72
Date d'inscription
lundi 29 juillet 2002
Dernière intervention
27 décembre 2012
- 22 août 2005 à 14:39
Bonjour,



Dans mon appli, j'ai la possilbilité de céer des fichiers PDF.

Ensuite je veux avoir la possibilité de les visionner (là pas de problème) ou de les imprimer (problème).

D'ou ma question :

Comment fait on pour imprimer un fichier PDF ?



Merci d'avance.

jéjé
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
207
Date d'inscription
mardi 6 août 2002
Dernière intervention
29 octobre 2008
3
Merci
Oui en effect il y a un petit problème avec certaine configuration d'Acrobat ...

L'application reste en tâche de fond après impression.

Voici un contournement au problème afin de supprimer la fenêtre Acrobat. Le problème est qu'il faut une tempo avant de supprimer l'application Acrobat ... cette tempo doit-être fonction de la taille du document à imprimer.

Voici un code qui fonctionne

unit UAcrobatAction;


interface


uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtActns;


type
TfrmAcrobatAction = class(TForm)
btPrint: TButton;
edDoc: TEdit;
edExe: TEdit;
procedure btPrintClick(Sender: TObject);
private
FRunFile : TFileRun;
public
{ Déclarations publiques }
end;


var
frmAcrobatAction: TfrmAcrobatAction;


implementation


{$R *.dfm}


procedure TfrmAcrobatAction.btPrintClick(Sender: TObject);
Var
hwndAcrobat : HWND;
begin
// Impression sans ouverture d'accrobat
FRunFile := TFileRun.Create(Self);
Try
FRunFile.FileName := edDoc.Text;
FRunFile.Operation := 'print';
FRunFile.ShowCmd := scHide;
FRunFile.Execute;


Sleep(5000);


hwndAcrobat := FindWindow(nil, 'Adobe Reader');


if hwndAcrobat <> 0 then
PostMessage(hwndAcrobat, WM_DESTROY, 0, 0);


Finally
FRunFile.Free;
End;
end;


end.

vaughan

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de vaughan
Messages postés
207
Date d'inscription
mardi 6 août 2002
Dernière intervention
29 octobre 2008
0
Merci
Il suffit de lancer la commande :

"[Localisation d'Acrobat]\AcroRd32.exe" /p /h "Ton document"

vaughan
Commenter la réponse de vaughan
Messages postés
72
Date d'inscription
lundi 29 juillet 2002
Dernière intervention
27 décembre 2012
0
Merci
Ok merci, mais avec shellexecute ou createprocess, Adobe reader s'ouvre.

comment faire pour imprimer sans ouvrir Adobe reader (sans le faire apparaître) ?

jéjé
Commenter la réponse de cs_jeje2
Messages postés
207
Date d'inscription
mardi 6 août 2002
Dernière intervention
29 octobre 2008
0
Merci
Justement :
le paramètre /h c'est pour le mettre en non visible (HIDE)
le paramètre /p c'est pour effectuer l'impression (PRINT)

Tu fait un shellexecute de la commande et ton fichier sera imprimé

vaughan
Commenter la réponse de vaughan
Messages postés
72
Date d'inscription
lundi 29 juillet 2002
Dernière intervention
27 décembre 2012
0
Merci
Je ne vois pas ou est le problème dans mon code ci-dessous pour l'impression.



sExe = [Localisation d'Acrobat]\AcroRd32.exe

ShellExecute(Handle,'open',PChar(sExe),PChar(' /p /h "C:\Test.pdf"'),Nil,SW_HIDE);


Avec ce code, mon PDF s'imprime mais Adobe s'ouvre.


jéjé
Commenter la réponse de cs_jeje2
Messages postés
72
Date d'inscription
lundi 29 juillet 2002
Dernière intervention
27 décembre 2012
0
Merci
O poils, merci pour ton aide.



Bon courage a tous.

jéjé
Commenter la réponse de cs_jeje2

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.