Imprimer un fichier PostScrip

Résolu
madcap Messages postés 77 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 22 février 2011 - 6 avril 2009 à 13:20
madcap Messages postés 77 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 22 février 2011 - 4 mai 2009 à 09:58
Bonjour,

Je développe sur Delphi depuis pas longtemps et je bloque depuis quelques jours sur l'impression PostScript.

En effet, je dois créer une unité qui envoie un fichier .ps à une imprimante choisie (PostScript). J'ai déjà beaucoup cherché sur internet et j'ai vu que GhostScript faisait très bien cela.

Par contre je n'ai pas réussi à l'intégrer en Delphi...

Est-ce que qqun l'a déjà fait ou pourrait m'aider à ce sujet ?

Merci d'avance de vos réponses.

5 réponses

madcap Messages postés 77 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 22 février 2011
28 avril 2009 à 16:26
Alors si ça peut intéresser des personnes j'ai trouvé comment résoudre l'impression sur une imprimante PS.

Voilà le code :

  if(FileExists(CHEMIN_FICHIERS_PS_SERVEUR + nom_fichier_ps)) then begin
    //Copie du fichier PS dans les jobs d'impression de l'imprimante passée en paramètre
    CopyFile(PChar(CHEMIN_FICHIERS_PS_SERVEUR + nom_fichier_ps), PChar('\\serveurImpression\' + nomImprimante), False);
    //Suppression du fichier PS du serveur
    DeleteFile(PChar(CHEMIN_FICHIERS_PS_SERVEUR + nom_fichier_ps));
  end;

 j'espère que ça pourra aider qqun...
3
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
2 mai 2009 à 12:29
Il serait plus prudent d'utiliser la valeur retournée par la fonction CopyFile avant de procéder à la destruction du fichier original :
if(FileExists(CHEMIN_FICHIERS_PS_SERVEUR + nom_fichier_ps)) then begin
    //Copie du fichier PS dans les jobs d'impression de l'imprimante passée en paramètre
    if CopyFile(PChar(CHEMIN_FICHIERS_PS_SERVEUR + nom_fichier_ps), PChar('\\serveurImpression\' + nomImprimante), False) <> 0 then
  begin;
    //Suppression du fichier PS du serveur
    DeleteFile(PChar(CHEMIN_FICHIERS_PS_SERVEUR + nom_fichier_ps));
  end;
  end;

May Delphi be with you<hr />Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
3
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
9 avril 2009 à 22:41
Pourrais-tu être plus précis ? Sur quoi butes-tu exactement ?
1- la création d'une unité qui génère du PostScript
2- Le choix d'une imprimante PostScript par le code
3- Comment faire dialoguer ton appli avec GhostScript

Tu voi, si tu veux avoir une chance d'obtenir une réponse, encore faut-il que la question soit comprise par les membres.

May Delphi be with you<hr />Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
0
madcap Messages postés 77 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 22 février 2011
9 avril 2009 à 23:16
En fait je veux simplement lancer un job d'impression sur une imprimante.

Mais j'ai découvert aujourd'hui que les imprimantes utilisées ont toutes un driver PostScript... Oui j'aurais quand même dut regarder ça en premier...Javascript:Insert_Emoticon('/imgs2/smile_blush.gif');

Du coup, il me suffit juste de copier mon fichier PS dans la file d'impression à l'aide d'une commande copy via ShellExec et mon document est imprimé.

Mon problème est donc quasiment résolu. En effet j'utilise ShellExec pour effectuer cela, je me demande s'il existe une manière plus intégrée à Delphi pour envoyer un fichier PS à l'imprimante ?

J'espère que j'ai été assez clair, Javascript:Insert_Emoticon('/imgs2/smile.gif');

Merci de votre aide !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
madcap Messages postés 77 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 22 février 2011
4 mai 2009 à 09:58
C'est noté, merci beaucoup pour les conseils.

Je suis justement en train d'analyser comment gérer au mieux les erreurs d'exécution avec Delphi.
0
Rejoignez-nous