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 

 

 

 

Responder a