Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How programatically set up PDF file name in Acrobat Writ
Message
 
 
To
03/05/2001 08:24:37
General information
Forum:
Visual FoxPro
Category:
Third party products
Miscellaneous
Thread ID:
00502936
Message ID:
00503058
Views:
25
>Hi all,
>
>I am trying to save Foxpro report to PDF file using Acrobat Writer and put it online. But I can't find the way to set up pdf file name from my component - it saves it with default file name from .ini file. But I need to use uniq file name since concurrent users might run my report from web site. Does anybody know the ways to do it ?
>
>Thank you

Another simple program could be used (though not that universal, as Rick's class):
*******************************************************************************
*  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 vartype(m.tcFileName)<>"C" or empty(m.tcFileName) 
     tcFileName='c:\windows\temp\tempfile.pdf' && Hardcoded name
else
     tcFileName=forceext(m.tcFileName,"PDF")
endif
if file(m.tcFileName)
     delete file (m.tcFileName)
     flush
endif
*!*     declare _fpreset in msvcrt20.dll
*!*     =_fpreset()
declare integer Sleep in Win32API integer
Sleep(100) && Wait a little

local cPDFDllFile, lcOldSafety, iInitialize, iIsNT, ;
     cPdfWriter, cPort, iInstalled, iDoPrompt, iSetFileName
cPDFDllFile = "c:\Program Files\Adobe\Acrobat 4.0\Macros\Office95\PDFMon.DLL" && or locate this DLL

if not file(m.cPDFDllFile)
     =messagebox("Required Acrobat Writer DLL is not present on your local drive." +;
          chr(13)+"Will print to default printer...",48,"Error in CreatePDF")
     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)
*PDFMonCleanup()
iInitialize = PDFMonInitialize()
if m.iInitialize=1
*? "Initialize : "
*?? iInitialize

*iIsNT = PDFMonIsOSNT()
*? "Is NT : "
*?? iIsNT
     lcOldSafety=set('safety')
     set safety off && don't want to be prompted
     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(m.tcFileName)
*? iSetFileName
*!*     tcFileName = ""
*!*     iSetFileName = PDFMonSetOutputFilename(tcFileName)
*!*     ? iSetFileName
     PDFMonCleanup()
else
     =messagebox("Adobe Acrobat Write could not be initialized. "+ ;
          chr(13)+"Will print to default printer...",48,"Error in CreatePDF")
endif
if m.lcOldSafety='ON'
     set safety on
endif
*? "Finished."
return .t.
If it's not broken, fix it until it is.


My Blog
Previous
Reply
Map
View

Click here to load this message in the networking platform