Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Acrobat
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire de rapports & Rapports
Titre:
Divers
Thread ID:
00469310
Message ID:
00469326
Vues:
14
>Thanks,
>
>I wonder, if I do not have all West-Wind classes can I stil do it. I do not want to use anothe lair of complexity...
>I remember some was passing the simple code as dll regestration for automative printing and e-mailing. I need to do it for our clients with invoces...
>
>Thanks,
>J.
For e-mailing I would use Nigel Coates class, it's very easy to send e-mails with it.

This is the program I use for creating PDF (you have to install Acrobat Writer for this). Check location of the DLL, it could be in another directory. Also Steven Duke complained, what this code didn't work for him. Anyway, it's simple, so try:
*******************************************************************************
*  Description.......: CreatePDF - creates PDF for specified filename
*  Calling Samples...: CreatePDF('c:\temp\temp.pdf')
*  Parameter List....: tcFileName
*  Created by........: Houston Brennan 06/12/2000
*  Modified by.......: Nadya Nosonovsky 06/16/2000 10:56:51 AM
******************************************************************************
lparameters tcFileName
if empty(tcFileName)
     tcFileName='c:\windows\temp\tempfile.pdf' && Hardcoded name
endif

local cPDFDllFile, lcOldSafety, iInitialise, iIsNT, ;
     cPdfWriter, cPort, iInstalled, iDoPrompt, iSetFileName

lcOldSafety=set('safety')
cPDFDllFile = "c:\Program Files\Adobe\Acrobat 4.0\Macros\Office95\PDFMon.DLL" && or locate this DLL

if not file(cPDFDllFile)
     =messagebox("Required Acrobat Writer DLL is not present on your local drive." +;
          chr(13)+"Will print to default printer...")
     return .t.
endif

clear dlls
declare integer PDFMonInitialize in (cPDFDllFile)
declare integer PDFMonIsOSNT in (cPDFDllFile)
declare integer IsPDFWriterInstalled in (cPDFDllFile) ;
     string@ cPDFWriterName , ;
     string@ cPort
declare integer PDFMonDoPrompt in (cPDFDllFile) ;
     integer iWhichProgram

declare integer PDFMonSetPrompt in (cPDFDllFile) ;
     integer iWhichProgram , ;
     integer iNewValue

#define SETPROMPTOFF 0
#define SETPROMPTON 1

declare integer PDFMonSetOutputFilename in (cPDFDllFile) ;
     string cFileName
declare integer PDFMonCleanup in (cPDFDllFile)

iInitialise = PDFMonInitialize()
*? "Initialise : "
*?? iInitialise

iIsNT = PDFMonIsOSNT()
*? "Is NT : "
*?? iIsNT
set safety off
cPdfWriter = space(100)
cPort = space(100)
iInstalled = IsPDFWriterInstalled( @cPdfWriter, @cPort )
if iInstalled=1 && PDF Writer is installed
     set printer to name 'Acrobat PDFWriter'
endif
*? "Installed "
*?? iInstalled
*? "PDF Writer : "
*?? cPdfWriter
*? "Port : "
*?? cPort
*?

iDoPrompt = PDFMonDoPrompt( SETPROMPTOFF )
*? iDoPrompt
*cFileName = "c:\Temp\Test.Pdf"
iSetFileName = PDFMonSetOutputFilename(tcFileName)
*? iSetFileName
*!*     tcFileName = ""
*!*     iSetFileName = PDFMonSetOutputFilename(tcFileName)
*!*     ? iSetFileName

*? PDFMonCleanup()
clear dlls
if lcOldSafety='ON'
     set safety on
endif
*? "Finished."
return .t.
If it's not broken, fix it until it is.


My Blog
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform