Este es un procedimiento que me armé en base a una solución publicada en su
momento. Usa PDFCreator y funciona en VFP6, por lo que supongo que 7 no
tendrá problemas.
El parámetro PConfig es el nombre de una tabla donde los campos tienen la
información que hace falta para ejecutar el reporte
PConfig.Reporte = Nombre del Reporte
PConfig.RutaPlan= Carpeta de Salida para el archivo
PConfig.Archivo = Nombre del archivo a generar
PConfig.Tabla = Nombre de la tabla que usa el reporte
Espero sirva.
procedure CnvRpPdf
parameters PConfig
if parameters() < 1
return .F.
endif
if parameters() >= 1 and type ('PConfig') = 'C'
if file (PConfig)
use &PConfig shared in 0 alias PConfig
select PConfig
else
=messagebox ('No se encuentran los
parámetros para generar el archivo pdf', 16+0+256, 'Generar pdf')
return .F.
endif
endif
PReporte= alltrim (PConfig.Reporte)
PDir = alltrim (PConfig.RutaPlan)
PArchivo= alltrim (PConfig.Archivo)
PTabla = alltrim (PConfig.Tabla)
use in PConfig
if file (PTabla) and not used ('PTabla')
use &PTabla shared in 0 again alias PTabla
select PTabla
else
=messagebox ('No se encuentran los datos para generar el
archivo pdf', 16+0+256, 'Generar pdf')
return .F.
endif
declare Sleep in WIN32API integer
local loPDFCreator
loPDFCreator = createobject ('PDFCreator.clsPDFCreator')
with loPDFCreator
.cStart('/NoProcessingAtStartup')
.cVisible = .F.
.cPrinterStop = .T.
.cOption('UpdateInterval')= 0 && nunca
*!* Opciones de autoguardado
.cOption('UseAutosave') = 1
.cOption('UseAutosaveDirectory')= 1
.cOption('AutosaveDirectory') = '&PDir'
.cOption('AutosaveFilename') = PArchivo
.cOption('AutosaveFormat') = 0 && 0 para formato PDF
* Modificacion temporal de lo impresora por defecto :
DefaultPrinter = .cDefaultprinter
.cDefaultprinter= 'PDFCreator'
.cClearcache
endwith
lcImpresoraPDF = 'PDFCreator'
set printer to name (lcImpresoraPDF)
report form (PReporte) to printer noconsole
loPDFCreator.cPrinterStop = .F.
Sleep (2000)
loPDFCreator.cDefaultprinter = DefaultPrinter
loPDFCreator.cClearcache
loPDFCreator.cClose
release loPDFCreator
if used ('PTabla')
use in PTabla
endif
return .T.
Saludos
Fabricio A. Bridera
De: [email protected] [mailto:[email protected]] En nombre de francisco prieto
Enviado el: Miércoles, 06 de Febrero de 2013 8:45
Para: GUFA List Member
Asunto: [GUFA] ARCHIVO PDF
El año pasado habia algo de usar el PDF Creator (que es gratuito) y como
hacerlo...
Ahora no lo encuentro...
Sin embargo en otro foro encontre un código que quizas pueda servirte...
http://www.todoexpertos.com/categorias/tecnologia-e-internet/bases-de-datos/
visual-foxpro/respuestas/2150121/como-crear-y-enviar-archivo-pdf-de-forma-au
tomatica
Lo que si otro forista aclara que hay que elevar el tiempo de espera para
que se realice correctamente... De modo que recomienda utilizarlo como punto
de partida.
Saludos,
Pancho
Cordoba
El 6 de febrero de 2013 08:34, francisco prieto <[email protected]>
escribió:
A mi particularmente que tengo instalado el foxypreview en mi aplicacion...
la generacion del pdf no me funciona correctamente en todas las pc y todas
utilizan XP SP3.
Saludos,
Pancho
Cordoba
El 6 de febrero de 2013 08:25, Walter Paul <[email protected]>
escribió:
Sino también puedes usar el Foxypreviewer con la siguiente sentencia:
REPORT FORM (tcFRXFile) OBJECT TYPE 10 TO FILE "c:\TestReport.Pdf"
De: Ing César Luque [mailto:[email protected]]
Enviado el: miércoles, 06 de febrero de 2013 00:43
Para: GUFA List Member
Asunto: [GUFA] ARCHIVO PDF
Estimados
Necesito generar un pdf desde un reporte visual fox 7.0, pasándole yo el
nombre del archivo que quiero que tenga el pdf. No necesito abrirlo al pdf,
solo
crearlo.
Alguien tiene algo funcionando en forma similar?
Si no hay que instalar una impresora virtual pdf en cada equipo cliente
mejor, si no
lo que tengan.
Saludos.-
Cèsar Luque