ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

imprimer un etat vfp et l'enregistrer au format pdf avec pdf creator sous vista   



L'auteur

eric leissler
France France
Membre Simple
# 0000002784
enregistré le 06/03/2010
http://www.aumeric.fr
62 ans
leissler eric
85290 MORTAGNE SUR SEVRE
de la société AUMERIC LOGICIELS ( 0633412395 )
Fiche personnelle


Note des membres
20/20
1 vote


Contributions > 03 - FRX : Etat, impression, Report

imprimer un etat vfp et l'enregistrer au format pdf avec pdf creator sous vista
# 0000000528
ajouté le 19/04/2008 14:09:40 et modifié le 19/04/2008
consulté 7084 fois
Niveau débutant


Le téléchargement des pièces jointes est limité aux membres
Veuillez vous identifier ou vous inscrire si vous n'avez pas encore de compte ...
Description

Bonjour à toutes et à tous  

Compte tenu des contraintes, nous avons donc changé de fusil d’épaule et avons décidé d’
imprimer l’état et en faire une copie en pdf dans un répertoire.

J’ai eu beau lui dire que xrfx était bien et qu’il pouvait exporter directement en pdf, il ne
veut rien savoir.

Difficulté supplémentaire, le poste étant en vista, le set printer to name telimprimante ne
fonctionne pas sous vista. La je dois un grand merci à maitre grégory !

 

Code source :
Local PrinterNow, PrinterOld
*!*  oPDFC  = Createobject("PDFCreator.clsPDFCreator","pdfcreator")
*!*  oPDFC.cStart("/NoProcessingAtStartup")
*!*  oPDFC.cOption("UseAutosave") = 1
*!*  oPDFC.cOption("UseAutosaveDirectory") = 1
*!*  oPDFC.cOption("AutosaveFormat") = 0              &&  ; 0 = PDF format
*!*  DefaultPrinter = oPDFC.cDefaultprinter
*!*  oPDFC.cDefaultprinter = "pdfcreator"
*!*  oPDFC.cClearCache
*!*  ReadyState = 0
*!*  oPDFC.cOption("AutosaveFilename") = "toto"
*!*  oPDFC.cOption("AutosaveDirectory") = ".\personnels\"
*!*  oPDFC.cprinterstop=.F.
*!*  *!*    REPORT FORM (m.monfic) TO PRINTER
*!*  *!*  SET PRINTER TO  name (lcoldPrinter) && On revienr à l'ancienne imprimante
*!*  *!*  COPY FILE .\personnels\toto.pdf TO (m.ficdest)
*!*  oPDFC.cDefaultprinter = DefaultPrinter
*!*  oPDFC.cClearCache
*!*  Release oPDFC




PrinterNow = "pdfcreator"

If( !Empty(m.PrinterNow) )
  =Printer_Set(m.PrinterNow, @m.PrinterOld)
  Report Form ctssaisonnier Noconsole To Printer
  =Printer_Set(m.PrinterOld)
Endif

i=0
Do While !File(".\personnels\toto.pdf")
  i=i+1
  Wait "tempo imprimante"+Alltrim(Str(i)) Windows nowait
  If i>100000
    Exit
  Endif
Enddo


Copy File .\personnels\toto.pdf To monfic.pdf

PrinterNow = "\\HADES\Brother HL-1250"

If( !Empty(m.PrinterNow) )
  =Printer_Set(m.PrinterNow, @m.PrinterOld)
  Report Form ctssaisonnier Noconsole Preview
  =Printer_Set(m.PrinterOld)
Endif


*-------------------------------------------------------------------------------

#Define TRUE .T.

#Define FALSE .F.

Function Printer_Set(PrinterNew, PrinterOld)

PrinterOld = WindowsPrinter_Get()

IfUpper(m.PrinterOld ) <> Upper(m.PrinterNew) )

  =WindowsPrinter_Set(m.PrinterNew)

  Set Printer To Default && to avoid error 1958, not sure we need this

  Set Printer To Name (m.PrinterNew)

Endif

Endfunc

*-------------------------------------------------------------------------------

Function WindowsPrinter_Get()

Return Set('Printer', 2)

Endfunc

*-------------------------------------------------------------------------------

Function WindowsPrinter_Set(PrinterNew, PrinterOld)


Local wsh, sError

sError = On('error')

PrinterOld = WindowsPrinter_Get()


Do Case

Case Lower(m.PrinterOld) <> Lower(m.PrinterNew)

  Private HadError

  HadError = FALSE

  On Error HadError = TRUE


  wsh = Createobject('WScript.Network'&& error on win95

  =m.wsh.SetDefaultPrinter(m.PrinterNew)

  On Error &sError


  wsh = Null


  Return !m.HadError


Endcase

Endfunc

*-------------------------------------------------------------------------------






Commentaires
Aucun commentaire enregistré ...

Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2019.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3