Rutina para generar PDFs desde VFP sin usar automatizacion

20,911 views
Skip to first unread message

Victor Espina

unread,
Jul 26, 2012, 11:01:43 AM7/26/12
to publice...@googlegroups.com
Amigos, el tema de generar PDFs desde VFP siempre me ha parecido cuando menos engorroso.  La ultima experiencia que tuve con esto fue con el PDFCreator, el cual ofrece una clase ActiveX que se puede instanciar desde VFP y se puede utilizar para configurar el PDFCreator de modo que genere el PDF directamente en un archivo dado en lugar de mostrar el dialogo normal de "Grabar como".

Sin embargo, varios clientes se han quejado de que por alguna razon la rutina no funciona en todos los equipos y, la verdad, no he podido encontrar la causa. Incluso en mi propio equipo de desarrollo la cosa dejo de funcionar de un dia para otro.

Por esto, me di a la tarea de volver a buscar en Internet alguna forma mas simple de crear un PDF a partir de un reporte de VFP; y me tope con la excelente clase Print2PDF de Paul James (pa...@lifecyc.com).  Esta libreria hace, basicamente, lo mismo que hace PDFCreator y otros productos basados en Ghostscript:  

a) Enviar el reporte a una impresora que genere una salida en Postscript
b) Tomar la salida en Postscript y pasarla por la libreria Ghostscript para generar una representacion en PDF

La diferencia es que esta libreria de Paul James se comunica directamente con la DLL de Ghostscript para hacer el trabajo final de generar el PDF a partir de la version Postscript del reporte, que es justamente la parte mas complicada de todo el asunto.

A la final, la cosa queda tan simple como hacer esto:

Print2PDF("archivo.pdf","mireporte.frx")

La libreria original contenia dos PRGs que debian ser cargados (PRINT2PDF.PRG y CLSHEAP.PRG), y estaba optimizada para VFP9.  Lo que yo hice fue unificar todo el codigo necesario en un solo PRG y eliminar las cosas especificas de VFP9 para que la libreria pueda ser usada en cualquier version de VFP a partir de la 6.

Pueden descargar la libreria con ejemplos desde este link:

El RAR contiene un archivo llamado PRINT2PDF.TXT con las instrucciones necesarias para instalar y configurar el software necesario para el funcionamiento de la libreria.

Espero les sea de utilidad

Saludos

Victor Espina

José Medina

unread,
Jul 26, 2012, 11:15:46 AM7/26/12
to publice...@googlegroups.com
Gracias por compartir Victor.

Saludos. 

extremo

unread,
Jul 26, 2012, 11:18:39 AM7/26/12
to publice...@googlegroups.com
En estos momentos estoy sin internet... cuando me llegue lo reviso, se ve interesante lo que relizastes, me ayudaria en un proyecto que estoy empezando.


Bendiciones

Ricardo Pina

unread,
Jul 26, 2012, 11:18:47 AM7/26/12
to publice...@googlegroups.com
Excelente aporte.
 
Gracias


Victor Espina

--
 
 
 



--
            

                   Ricardo Pina

Desarrollo y Servicios Informáticos

                  Profesionales
               www.dsip.com.ar

 

 


Guillermo MDQ

unread,
Jul 26, 2012, 12:08:00 PM7/26/12
to publice...@googlegroups.com
Victor, muy buen aporte.

Lo estoy probando, instale el PDFCreator en C:\PDFCreator, modifique el archivo INI como dicen las instrucciones , pero siempre me da este error:

"This error ocurred creating the PDF:
Installation parms do not exist for ID: POSTSCRIPT"

Saludos
Guillermo

(VFP 9 SP2 - Win 7 64)

Victor Espina

unread,
Jul 26, 2012, 12:18:36 PM7/26/12
to publice...@googlegroups.com
Guillermo ese error da cuando no puede encontrar la libreria Ghostscript.  Verifica que la ruta que le estas indicando en PRINTER2PDF.INI contenga el archivo GSDLL32.DLL y que la ruta no contenga espacios en blanco.

Tambien es IMPORTANTE que la ruta termine en "\".

Saludos

Victor Espina

Luis Maria Guayan

unread,
Jul 26, 2012, 1:32:27 PM7/26/12
to publice...@googlegroups.com
Gracias Victor, lo probaré en breve


Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

--
 
 
 

Luis Maria Guayan

unread,
Jul 26, 2012, 1:34:10 PM7/26/12
to publice...@googlegroups.com
El 26/07/2012 13:18, Victor Espina escribió:
Tambien es IMPORTANTE que la ruta termine en "\".

Para siempre asegurarse de ello, aconsejo utilizar la función ADDBS() en el armado de las rutas

Guillermo MDQ

unread,
Jul 26, 2012, 1:55:57 PM7/26/12
to publice...@googlegroups.com
Aunque tenia una diferencia en el nombre de la carpeta "gs" que en la ultima version de pdfcreator se llama "gs9.05" me sigue saliendo el mismo error, que raro porque el path esta correcto:

;GhostScript section - Properties for Turning PostScript (.ps) files into PDF files.
[GhostScript]
cGSFolder=C:\PDFCreator\gs9.05\gs9.05\bin\
cPrintResolution=
cPDFFile=

Saludos
Guillermo

Miguel Canchas

unread,
Jul 26, 2012, 1:59:37 PM7/26/12
to publice...@googlegroups.com

Ponlo entre comillas

 

 

MK

--
 
 
 

Guillermo MDQ

unread,
Jul 26, 2012, 2:08:01 PM7/26/12
to publice...@googlegroups.com, mcan...@ximesa.com
Pero ese trozo de codigo es del archivo INI y tiene esa sintaxis, igual lo probe con las comillas y sigue igual.

Saludos
Guillermo

Victor Espina

unread,
Jul 26, 2012, 2:10:33 PM7/26/12
to publice...@googlegroups.com, mcan...@ximesa.com
Prueba a ponerlo como nombre corto:

C:\PDFCre~1\gs9.05\gs9.05\bin\


Tambien asegurate que instalaste la version de 32 bits y no la de 64. Lo que la rutina esta buscando es el archivo GSDLL32.DLL; mientras no lo encuentre seguira saliendo ese error.

Saludos

Victor Espina

Victor Espina

unread,
Jul 26, 2012, 2:12:08 PM7/26/12
to publice...@googlegroups.com, mcan...@ximesa.com
Creo que hare una pequena modificacion en la libreria para manejar mejor este tipo de problemas. Lo que hacia la rutina original era pedir autorizacion para lanzar el instalador del Ghostscript, lo cual me parece exagerado.  

Creo que puedo anadir algo de codigo para minimizar los requerimientos en cuanto a la ruta o, en todo caso, mostrar mensajes mas explicativos.

Cuando haya hecho los cambios les aviso.

Saludos

Victor Espina

Guillermo MDQ

unread,
Jul 26, 2012, 2:29:04 PM7/26/12
to publice...@googlegroups.com, mcan...@ximesa.com
Tengo instalada la version de 32 bits, Voy a seguir probando.
Muchas gracias por el tiempo que te tomas en buscar soluciones, Victor.

Saludos
Guillermo

Victor Espina

unread,
Jul 26, 2012, 2:36:27 PM7/26/12
to publice...@googlegroups.com, mcan...@ximesa.com
Guillermo si no logras encontrar el problema, dame oportunidad de hacer los cambios a ver si consigo o bien solucionar el problema o bien darte mas informacion para identificar el problema real.

Saludos

Victor Espina

Guillermo MDQ

unread,
Jul 26, 2012, 2:41:20 PM7/26/12
to publice...@googlegroups.com, mcan...@ximesa.com
YA LO SOLUCIONE.
El problema estaba que el archivo INI estaba en una subcarpeta del proyecto, en vez de estar en la carpeta raiz.
Funciona espectacular !!!!

Muchas gracias Victor, y pido perdon por ese descuido.

Saliudos
Guillermo

Victor Espina

unread,
Jul 26, 2012, 3:42:39 PM7/26/12
to publice...@googlegroups.com, mcan...@ximesa.com
Me alegro que te funcionara.

Saludos

Victor Espina

Hugo C.

unread,
Jul 26, 2012, 6:41:39 PM7/26/12
to publice...@googlegroups.com
Gracias por el dato Victor.

Saludos.

Ing.Daniel Bojorge

unread,
Jul 26, 2012, 6:48:07 PM7/26/12
to publice...@googlegroups.com
Gracias Víctor.


Dios L@s Bendiga

Saludos,

Daniel (Con 1 Estrella DCE de Microsoft)
www.debsconsultores.com
Nicaragua

"Si ustedes permanecen unidos a mí, y si permanecen fieles a mis enseñanzas, pidan lo que quieran y se les dará.
(Juan 15:7 DHH)
Bendito el varón que se fía en el SEÑOR, y cuya confianza es el SEÑOR.
(Jeremías 17:7 RV2000)



--
 
 
 

Jose carmona

unread,
Jul 26, 2012, 7:00:46 PM7/26/12
to publice...@googlegroups.com
ooohhhh impresionante lo necesitaba jejeje gracias victor por el gran aporte q has echo saludos y cuidece

Jose carmona

unread,
Jul 26, 2012, 7:03:05 PM7/26/12
to publice...@googlegroups.com
oye una preguntica.

sirve para impresoras fiscales?

El jueves, 26 de julio de 2012 17:01:43 UTC+2, Victor Espina escribió:

sol.sa...@gmail.com

unread,
Jul 26, 2012, 7:56:14 PM7/26/12
to publice...@googlegroups.com
DddddDdddddDdddddDddDddDdDDWQddddddddddqdddqddqddqdqddqdddqdddddddddddqddddqdddqddddddddddqddddddddddddddddddddddddddddddddddqdddqddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddDdddddd swq
Mensaje enviado desde mi SOL BlackBerry de Nextel

From: Jose carmona <jrca...@gmail.com>
Date: Thu, 26 Jul 2012 16:00:46 -0700 (PDT)
Subject: [vfp] Re: Rutina para generar PDFs desde VFP sin usar automatizacion
--
 
 
 

Ricardo Pina

unread,
Jul 26, 2012, 9:08:24 PM7/26/12
to publice...@googlegroups.com
 
Creo que es una buena práctica bloquear el celular antes de guardarlo en el bolsillo
 


 
--
 
 
 

cristian topp

unread,
Jun 12, 2013, 7:07:02 PM6/12/13
to publice...@googlegroups.com

Estimado Ricardo...

Me funcionaba perfecto y derrepente me salió el siguiente error
 
File access is denied
c:\users\ctopp\appdata\temp\_3t214tb0t.ps.
 
 
y este archivo le crea donde tengo el proyecto.
 
al parecer está perdido.... 
 
 
 
 

Ricardo Pina

unread,
Jun 12, 2013, 7:33:14 PM6/12/13
to Grupo VFP
De que estamos hablando ?
 

cristian topp

unread,
Jun 12, 2013, 8:11:30 PM6/12/13
to publice...@googlegroups.com
Disculpa Ricardo por no haber detallado mas el problema
bajé de este link que publicó victor
 
y copié los tres programas print2pdf.fox,prg,ini
 
me funcionó perfecto, hasta que cambié la ruta para grabar los pdf en otra carpeta y nunca mas funcionó como antes.
no se si tienes alguna idea???
 

Angel Dario Rodriguez

unread,
Jun 13, 2013, 7:35:34 AM6/13/13
to publice...@googlegroups.com
Buenas, ese link me dice que no existes, esta bien copiado?


2013/6/12 cristian topp <cristi...@gmail.com>

Ricardo Pina

unread,
Jun 13, 2013, 8:44:46 AM6/13/13
to Grupo VFP
Hola
 
Adjunto el rar que compartió Victor Espina en su momento
Nunca lo llegue a implementar, pero revisaría el INI a ver si hay que cambiar algo al cambiar la carpeta
 
Saludos
ps2pdf.ra_

Angel Dario Rodriguez

unread,
Jun 13, 2013, 12:30:48 PM6/13/13
to publice...@googlegroups.com
Gracias mil, amigos.


2013/6/13 Ricardo Pina <ric...@gmail.com>

Miguel Ab

unread,
Jun 14, 2013, 3:27:44 AM6/14/13
to publice...@googlegroups.com, vesp...@gmail.com
Gracias Victor, por la librería lo probaré.

A mi también me ha empezado el PDFCreator a hacer cosas raras, en unos ordenadores funciona sin problemas y en otros no hay forma. Además de funcionar unas veces y otras no.

Ya he leido varios comentarios y parece que es algo general ...

Saludos.

Antonio Meza

unread,
Jun 14, 2013, 1:58:33 PM6/14/13
to publice...@googlegroups.com, vesp...@gmail.com
Hola Victor!!

Hace tiempo publicaste unas librerías para factura electrónica, en ellas generas la impresión usando PDFCreator, modifique esa rutina para trabajar con BULLZIP que es un programa igual que PDFCreator pero que a diferencia de este no eh tenido problema con ningún cliente y tengo mas de 100 instalaciones en todo tipo de windows xp, vista, 7, 8 en versiones de 32 y 64bit e incluso trabajo mucho con terminal server o escritorio remoto

También al instalar Bullzip te pide que instales GS, y la instalación es muy sencilla y trae varios idiomas.


Aquí la función que modifique y que hay que pasar 2 parámetros el archivo FRX y el archivo destino.

FUNCTION PdfBullzip
LPARAMETERS cFrx,cArchivo
loPdf = CREATEOBJECT('Bullzip.PDFPrinterSettings') 
IF TYPE('loPdf')='O' 
loPdf.SetValue('output', cArchivo)
loPdf.SetValue('DisableOptionDialog', 'no') 
loPdf.SetValue('ConfirmOverwrite', 'no')
*loPdf.SetValue("WatermarkColor","#FF9900")
loPdf.SetValue('Showsettings', 'never') 
loPdf.SetValue('ShowSaveAS', 'nofile') 
loPdf.SetValue('ShowPdf', 'no') 
loPdf.WriteSettings(.t.) 
SET CONSOLE OFF 
SET PRINTER TO NAME ("Bullzip PDF Printer") 
REPORT FORM &cFrx TO PRINTER 
     SET PRINT OFF 
          SET PRINTER TO DEFAULT 
     SET CONSOLE ON 
*      WAIT windows "PDF GENERADO EN: " + cArchivo
ELSE
* WAIT windows "ERROR DE OBJETO PDF"
ENDIF
ENDFUNC

Uso:

PdfBullzip("formato.frx","impresion.pdf")


saludos
Antonio Meza

Juan Carlos Zamudio

unread,
Dec 6, 2013, 10:49:38 AM12/6/13
to publice...@googlegroups.com, vesp...@gmail.com
Saludos!, soy nuevo en el grupo y espero me puedan ayudar... (VFP7 SP2 - pruebas en Win7)

estoy utilizando la librería print2pdf y funciona todo bien (con PDFCreator) en algunos procesos (facturas), pero tengo 2 procesos, mismo sistema, que en teoría hacen lo mismo con otros datos(generan facturas, distintas series fiscales) pero no me genera el PDF.

 aparentemente no puede iniciar el gostscript, la llamada a la DLL gsapi_new_instance me regresa -100 fatal error según la documentación API y l explicación que da es que no puedo inicia 2 instancias de gs, pero no la he llamado antes de tratar de generar el PDF según yo...

al abrir como texto el archivo .ps  generado, porque si lo genera, aparenta estar corrupto (nada de texto legible) a diferencia de los otros procesos que el archivo .ps esta codificado pero si se puede leer...

espero haberme explicado

saludos y bendiciones!



Fox-Polilla

unread,
Jan 15, 2014, 5:02:53 PM1/15/14
to publice...@googlegroups.com, vesp...@gmail.com
Hola Victor muchas gracias por el aporte, funciona perfecto. Quisiera saber si hay alguna forma de convertir a .PDF un archivo de word existente, algo asi como:

print2pdf("archivo.pdf", "archivo.doc")

Ya que me sale error de parametros.

Muchas Gracias.

Roberto Tello & Asoc. - Estudio Informatico

unread,
Jan 15, 2014, 5:11:21 PM1/15/14
to publice...@googlegroups.com

Yo uso algo como esto, fijate si te sirve:

 

auxnom = 'c:\documentos\mandamiento'+'.pdf'

cDocument='c:\documentos\mandamiento.doc' 

oWord=CREATEOBJECT("word.application") 

oDocument=oWord.Documents.OPEN(cDocument)

oWord.Selection.Document.SaveAs(auxnom,17)

oWord.Quit(0)

 RELEASE oWord

Saludos.-

Roberto

SAN JUAN-ARGENTINA

--

Fox-Polilla

unread,
Jan 16, 2014, 9:57:34 AM1/16/14
to publice...@googlegroups.com, vesp...@gmail.com
Roberto muchas gracias pero no me funciona, me saca un error en la linea oWord.Selection.Document.SaveAs(auxnom,17) y dice Código de excepción OLE IDispatch0 de Microsoft Word: El comando falló.

Roberto Tello & Asoc. - Estudio Informatico

unread,
Jan 16, 2014, 4:22:42 PM1/16/14
to publice...@googlegroups.com

Que office usas...???

 

En Thu, 16 Jan 2014 06:57:34 -0800 (PST), Fox-Polilla <jaime.albe...@gmail.com> escribió:

Roberto muchas gracias pero no me funciona, me saca un error en la linea oWord.Selection.Document.SaveAs(auxnom,17) y dice Código de excepción OLE IDispatch0 de Microsoft Word: El comando falló.

 

--
Roberto 

Fox-Polilla

unread,
Jan 17, 2014, 10:42:48 AM1/17/14
to publice...@googlegroups.com, vesp...@gmail.com
Roberto muchas gracias lo había probado con Office 2003 y por eso salia el mensaje, pero ya lo probé con 2007 y funciona. Me gustaría saber si hay alguna forma de hacerlo con el Ghostscript para los equipos que no tienen instalado Word, una vez muchas gracias por la colaboración.

Rodribezul

unread,
Jan 17, 2014, 3:28:56 PM1/17/14
to publice...@googlegroups.com, vesp...@gmail.com

Por que tanto alboroto si con foxypreviewer todo es tan facil o que casos se aplicaria...?

Fox-Polilla

unread,
Jan 17, 2014, 5:49:09 PM1/17/14
to publice...@googlegroups.com, vesp...@gmail.com
Rodribezul es que el foxypreviewer se utiliza para exportar los reportes o informes de nuestros programas a word, excel, htm, pdf, etc pero lo que yo necesito es converitr archivos de word o excel ya existentes a formato pdf. Gracias.

carlos ramirez

unread,
Feb 12, 2014, 11:50:48 PM2/12/14
to publice...@googlegroups.com
hola cristian 
yo tengo el mismo problema con el acceso denegado al .ps
pudiste solucionarlo???
gracias de antemano

Javier Bernal

unread,
Apr 8, 2015, 2:52:45 AM4/8/15
to publice...@googlegroups.com
Estoy usando Print2PDF y si me genera el archivo PDF pero en blanco sin la estructura del .frx

Miguel Chaparro

unread,
Apr 17, 2015, 12:26:30 PM4/17/15
to publice...@googlegroups.com
Probe esta aplicación y no me funcionaba. Le pedi ayuda a Victor y esta fue su respuesta.

Miguel ese error ocurre porque la librería no esta encontrando el archivo GSDLL32.DLL.   La razón mas común para eso es que la ruta indicad en el archivo INI no esta expresada en formato 8.3.

En tu caso debería ser algo como:

"C:\PDFCre~1\Ghosts~1\bin\"

Saludos

Victor Espina

Realice los cambios y funciono perfecto.


Alonso Jarrín Solís

unread,
Jan 17, 2014, 3:56:43 PM1/17/14
to publice...@googlegroups.com, vesp...@gmail.com
Muy buena herramienta Víctor, muchas gracias y saludos.

Arnaldo Toledano

unread,
Aug 12, 2015, 1:30:31 PM8/12/15
to publice...@googlegroups.com
Gente.
Después de un ROTUNDO fracaso con PDFCreator, (en mi dos PC funciona correctamente, en las PC del cliente NO).
He tenido que optar por la librería de Victor Espina.
Según el PRINT2PDF.TXT, hay que bajar el Ghostscript.
Lo he bajado e instalado.

Pero al intentar imprimir me da este error.

GhostScript needs to be installed on your computer.
It is used to create PDF documents.
Is it OK to install now?

Por mas que le de SI, el error continua.
Evidentemente lo que he instalado no es lo correcto.
Lo he instalado desde http://ghostscript.com/download/gsdnld.html
Agradeceré si me dan una mano.


Arnaldo Toledano


Arnaldo Toledano

unread,
Aug 12, 2015, 4:15:24 PM8/12/15
to publice...@googlegroups.com
REITERO .

Victor Espina

unread,
Aug 12, 2015, 4:30:53 PM8/12/15
to Comunidad de Visual Foxpro en Español
Prueba con esta nueva libreria, que no requiere el uso de Ghostscript:

Ejemplo:

DO pdf
IF NOT pdf
.oXPS.autoSetup()
 
?"La generacion de PDF por XPS no esta disponible"
 RETURN
ENDIF
pdf
.cMode = "XPS"

IF NOT pdf
.create("salida.pdf",  "reporte.frx",  "cursorDatos")
  MESSAGEBOX
(pdf.cError)
  RETURN
ENDIF

Puedes ver el articulo original aqui:

Saludos

Victor Espina

Esteban H

unread,
Aug 12, 2015, 6:58:42 PM8/12/15
to publice...@googlegroups.com

Hola Arnaldo.

Yo utilizo esta librería modificada x Victor.

Te diría q prestes atención si tenes el INI en el directorio donde está el programa q llama la librería.

Lo otro es ver el camino q pusiste dentro del ini p encontrar la librería Ghost, x ejemplo si es c:\Archivos de programa (x86)\gs\gs9.16\bin, debería ser C:\Progra~2\gs\gs9.16\bin\ , así es mi caso y funciona perfecto.

He probado la nueva librería q hizo Victor, dado q sigo las clases q Victor ofrece. La misma se auto-configura o se puede setear a gusto y puede funcionar sin el GhostScrip, utilizando una impresora XPS, funciona bien, pero  en mi caso observé q la calidad del pdf no es tan buena como la librería anterior, esto Victor lo mejoró, x eso te pido q la pruebes y verás cual te gusta mas.

 

X mi parte siento más cómodo con esta librería, q estas preguntando y  la utilizo en conjunto con la impresora virtual CutePdf y sin problemas.

 

Saludos.

 

Esteban.

image001.gif

Arnaldo Toledano

unread,
Aug 12, 2015, 8:21:55 PM8/12/15
to publice...@googlegroups.com
Disculpa que te joda Victor.
El PDF.PRG , me da error en la siguiente rutina
FUNCTION findPrinter(pcSearchIn, pcSearchFor)
 LOCAL ARRAY aList[1]
 LOCAL nCount, i, cPrinter
 nCount = APRINTERS(aList, 1)

Me dice "demasiados parametros"

Me podras decir que pasa ?


Arnaldo Toledano

Victor Espina

unread,
Aug 13, 2015, 7:45:13 AM8/13/15
to Comunidad de Visual Foxpro en Español
La libreria PDF, al menos por ahora, no es compatible con versiones anteriores a la 9.  Intenta cambiando el codigo de findPrinter() por este:

* findPrinter (Function)

* Finds a printer by its name, port or driver

*

FUNCTION findPrinter(pcSearchIn, pcSearchFor)

 LOCAL ARRAY aList[1]

 LOCAL nCount, i, cPrinter

 #IF VERSION(5) >= 900

  nCount = APRINTERS(aList, 1)

 #ELSE

  nCount = APRINTERS(aList)

 #ENDIF

 cPrinter = ""

 pcSearchIn = LOWER(pcSearchIn)

 FOR i = 1 TO nCount

  #IF VERSION(5) >= 900

   IF (pcSearchIn == "name" AND LIKE(pcSearchFor, aList[i,1])) OR ;

      (pcSearchIn == "port" AND aList[i,2] == pcSearchFor) OR ;

      (pcSearchIn == "driver" AND LIKE(pcSearchFor, aList[i,3])) 

  #ELSE

   IF (pcSearchIn == "name" AND LIKE(pcSearchFor, aList[i,1])) OR ;

      (pcSearchIn == "port" AND aList[i,2] == pcSearchFor) 

  #ENDIF

   cPrinter = aList[i,1]

   EXIT

  ENDIF

 ENDFOR

 RETURN cPrinter

ENDFUNC



Saludos


Victor

Fabian Enrique Blanco

unread,
Nov 7, 2015, 4:19:37 PM11/7/15
to Comunidad de Visual Foxpro en Español
Hola Victor,

Tengo un problema con la libreria, Instale el gs918w32.exe y el PDFCreator y Ejecute el test.prg, me genera el TEST_GS.PDF pero solo con 2 registros, Tengo Instalado el VFP9SP" en Win10,
Alguna Idea de que puede ser??


Saludos.

Fabian Enrique Blanco

unread,
Nov 8, 2015, 12:28:54 PM11/8/15
to Comunidad de Visual Foxpro en Español
Ya encontre el problema. 

Saludos


Juan Masdeu

unread,
Mar 8, 2016, 3:04:11 PM3/8/16
to Comunidad de Visual Foxpro en Español
Estimado,

me ha pasado lo mismo.
hace lo siguiente:

use <nombredelreporte>.frx
replace expr with ""
use

espero te funcione

Jocelyn hernández

unread,
Mar 15, 2017, 2:58:26 PM3/15/17
to Comunidad de Visual Foxpro en Español
Hola... me podrias ayudar?
Me ha sido de mucha utilidad la libreria solo tengo una duda, es posible cambiar la ubicacion donde se guarda el pdf final??

Francisco ji

unread,
Mar 15, 2017, 3:27:18 PM3/15/17
to publice...@googlegroups.com

Jocelyn.


Al nombre del archivo PDF, agregale la ruta donde quieras que se genere.


Como te indica Victor en el ejemplo.


Print2PDF("archivo.pdf","mireporte.frx")


en "archivo.pdf" quedaría algo como "\\servidor\miaplicacion\misPDFs\archivo.pdf"


De: publice...@googlegroups.com <publice...@googlegroups.com> en nombre de Jocelyn hernández <liss...@gmail.com>
Enviado: miércoles, 15 de marzo de 2017 06:58 p. m.
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Re: Rutina para generar PDFs desde VFP sin usar automatizacion
 

Jocelyn hernández

unread,
Mar 15, 2017, 3:47:36 PM3/15/17
to Comunidad de Visual Foxpro en Español, fiba...@hotmail.com
Muchas gracias... es que ya con tantas modificaicones que le hice a la utileria ya me habia quedado bloqueda


Gracias de nuevo...
Message has been deleted

Jocelyn hernández

unread,
Mar 17, 2017, 3:42:44 PM3/17/17
to Comunidad de Visual Foxpro en Español

Buenas tardes.

Me podrian apoyar, estoy utilizando la libreria con algunas modificaciones ya que en mi caso requerian que varios reportes se juntaran en uno solo, dicho proceso ya lo pude realizar pero al momento en que se generan los pdf no me respeta los margenes que los reportes contienen.

Existe alguna forma de ajustar este detalle o de indicarle el marguen que debe tomar la hoja??

De antemano muchas gracias.

Elides Paredes

unread,
Mar 17, 2017, 7:59:06 PM3/17/17
to Comunidad de Visual Foxpro en Español
Estimados amigos.

Así me funcionó perfecto.
* Para hacer reporte en PDF
DO reportpdf WITH "c:\administracion\reportes\facturadas_todas.frx",;
"C:\Proyecto\consultas\pdfagenerado.pdf", .f.,.t.,.t.,[]
* Para hacer el PDF a partir de un reporte fue necesario copiar la aplicación
* reportpdf.app en c:\proyecto (Raiz) y
* el dll libhpdf.dll en c:\proyecto\libreri2
* Para hacer reporte
*!* REPORT FORM ;
*!*   PREVIEW Window (oRep.Name)
*!*   
   
Es increíble como Luis María y Víctor  nos dan siempre "la comida en la boca"
Gracias..! de verdad los considero a ellos -especialmente los que hacen las cosas mas fáciles.  A éstas problemas que a mi, -muy particularmente- se me hacen no difíciles sino imposibles de hacerlo solo.. 

Aunque no puedo desestimar a los otros como Fernando, Pancho, etc. por quienes he aprendido también muchísimo.

Mil gracias a todos.
Elides Paredes
Barquisimeto Venezuela.

Josue Rivas

unread,
Apr 4, 2017, 7:35:22 PM4/4/17
to Comunidad de Visual Foxpro en Español
Gran Aporte colega muchas gracias funciona de maravilla """

Fabián Machado

unread,
Aug 23, 2017, 1:26:54 PM8/23/17
to Comunidad de Visual Foxpro en Español
Hola Victor, he estado utilizando la librería y me ha funcionado perfecto, muchas gracias. Pero ahora he cambiado a 64 bits y ya no me anda, puedo hacer algún cambio para seguir utilizándola? saludos.

Edwin Llamoca

unread,
Nov 12, 2017, 12:10:10 AM11/12/17
to Comunidad de Visual Foxpro en Español
Hola Victor

Estoy VFP 6 y me sale acceso denegado, y ademas he visto el archivo pdf tiene 0 bytes. A que cres que se deba

Saludos

Edwin

Rubén Ramos

unread,
May 2, 2018, 8:55:11 PM5/2/18
to Comunidad de Visual Foxpro en Español
Me funciono perfecto Bull ZIP en Windows 10 VFP 6 sp5

gracias a Antonio!!!!!!


El viernes, 14 de junio de 2013, 12:58:33 (UTC-5), Antonio Meza escribió:
Hola Victor!!

Hace tiempo publicaste unas librerías para factura electrónica, en ellas generas la impresión usando PDFCreator, modifique esa rutina para trabajar con BULLZIP que es un programa igual que PDFCreator pero que a diferencia de este no eh tenido problema con ningún cliente y tengo mas de 100 instalaciones en todo tipo de windows xp, vista, 7, 8 en versiones de 32 y 64bit e incluso trabajo mucho con terminal server o escritorio remoto

También al instalar Bullzip te pide que instales GS, y la instalación es muy sencilla y trae varios idiomas.


Aquí la función que modifique y que hay que pasar 2 parámetros el archivo FRX y el archivo destino.

FUNCTION PdfBullzip
LPARAMETERS cFrx,cArchivo
loPdf = CREATEOBJECT('Bullzip.PDFPrinterSettings') 
IF TYPE('loPdf')='O' 
loPdf.SetValue('output', cArchivo)
loPdf.SetValue('DisableOptionDialog', 'no') 
loPdf.SetValue('ConfirmOverwrite', 'no')
*loPdf.SetValue("WatermarkColor","#FF9900")
loPdf.SetValue('Showsettings', 'never') 
loPdf.SetValue('ShowSaveAS', 'nofile') 
loPdf.SetValue('ShowPdf', 'no') 
loPdf.WriteSettings(.t.) 
SET CONSOLE OFF 
SET PRINTER TO NAME ("Bullzip PDF Printer") 
REPORT FORM &cFrx TO PRINTER 
     SET PRINT OFF 
          SET PRINTER TO DEFAULT 
     SET CONSOLE ON 
*      WAIT windows "PDF GENERADO EN: " + cArchivo
ELSE
* WAIT windows "ERROR DE OBJETO PDF"
ENDIF
ENDFUNC

Uso:

PdfBullzip("formato.frx","impresion.pdf")


saludos
Antonio Meza

Luis suescún

unread,
May 3, 2018, 10:00:35 AM5/3/18
to publice...@googlegroups.com
Muchas Gracias Víctor.
Que bueno para los que tienen la voluntad de compartir

eldie...@gmail.com

unread,
Mar 12, 2025, 1:15:08 PMMar 12
to Comunidad de Visual Foxpro en Español
Hola Victor, y al resto del grupo..  disculpen que los moleste, aun tienen la libreria? la estoy necesitando, muchas gracias

Esteban Herrero

unread,
Mar 12, 2025, 3:26:54 PMMar 12
to publice...@googlegroups.com
--
Blog de la Comunidad Visual FoxPro en Español http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver este debate, visita https://groups.google.com/d/msgid/publicesvfoxpro/48d2c219-db39-4c3a-bb7a-43e4109ecfaen%40googlegroups.com.

Rodribezul

unread,
Mar 13, 2025, 11:08:17 AMMar 13
to Comunidad de Visual Foxpro en Español

Lo estuve probando, es muy rápido, pero no me imprime todas las etiquetas del reporte, cuando lo hago por foxypreview ,lo hace bien. 

victor cheguen

unread,
Mar 19, 2025, 2:41:19 PMMar 19
to publice...@googlegroups.com
envio el archivo solicitado, discupas x la demora lo esta ubicando en mis backups

VICTOR CHEGUEN
ASESOR DE INFORMATICA
TEL: 5396-6771 CLARO 
         3739-8611 TIGO(Llamar a este xf por renovacion)
      

Los planes bien pensados y el arduo trabajo llevan a la prosperidad,
pero los atajos tomados a la carrera conducen a la pobreza.


PROVERBIOS


PDF3.PRG
Reply all
Reply to author
Forward
0 new messages