Imprimer un fichier PDF [Résolu]

cs_jeje2 72 Messages postés lundi 29 juillet 2002Date d'inscription 27 décembre 2012 Dernière intervention - 19 août 2005 à 09:32 - Dernière réponse : cs_jeje2 72 Messages postés lundi 29 juillet 2002Date d'inscription 27 décembre 2012 Dernière intervention
- 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
vaughan 207 Messages postés mardi 6 août 2002Date d'inscription 29 octobre 2008 Dernière intervention - 22 août 2005 à 14:04
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

Merci vaughan 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

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

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

vaughan
Commenter la réponse de vaughan
cs_jeje2 72 Messages postés lundi 29 juillet 2002Date d'inscription 27 décembre 2012 Dernière intervention - 19 août 2005 à 12:17
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
vaughan 207 Messages postés mardi 6 août 2002Date d'inscription 29 octobre 2008 Dernière intervention - 19 août 2005 à 13:50
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
cs_jeje2 72 Messages postés lundi 29 juillet 2002Date d'inscription 27 décembre 2012 Dernière intervention - 22 août 2005 à 08:15
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
cs_jeje2 72 Messages postés lundi 29 juillet 2002Date d'inscription 27 décembre 2012 Dernière intervention - 22 août 2005 à 14:39
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.