Page 1 of 1

pdfcreator

Posted: Thu Jun 28, 2007 10:14 pm
by Francisco Horta
estoy intentando probar PDFcreator, ya modifique el rpreview en el menu y el icono para mandar a PDF, ya use la funcion:

static function PrintPdf()

local oPdfApp := CreateObject("PDFCreator.clsPDFCreator")
local cASD := oPdfApp:cOption("AutoSaveDirectory" )
local cASF := oPdfApp:cOption("AutoSaveFileName" )

IF oPdfApp = NIL
msgstop("No esta instalado el programa PDFCreator !!","Error ...")
Return NIL
ENDIF
oPdfApp:cOption("UseAutoSave", 1 )
oPdfApp:cOption("UseAutoSaveDirectory", 1 )
oPdfApp:cOption("AutoSaveStartStandardProgram", 1 )
oPdfApp:cOption("AutoSaveDirectory", "C:\PDV" )
oPdfApp:cOption("AutoSaveFileName" , "Mypdf" )
oPdfApp:cSaveOptions()

*hMeta := oMeta1:hMeta
*oPdfApp:cPrintFile(hMeta)

// print something
oPdfApp:cPrintPDFCreatorTestpage()

oPdfApp:cOption("AutoSaveDirectory", cASD )
oPdfApp:cOption("AutoSaveFileName" , cASF )
oPdfApp:cSaveOptions()

oPdfApp = nil
return (nil)

como ven esta funcion la puse en el rpreview y desde ahi mando a PDF, intente mandar a PDF la pagina actual y un test, peroooo no genera ningun archivo, ya lo busque por la ruta que le especifico y por todo el disco duro y nada

me falta algo? alguien que la tenga funcionando que me ayude?
gracias
salu2
paco

Posted: Fri Jun 29, 2007 7:17 am
by JoseLuis
A mi me funciona así

Code: Select all

	     oReg:=TReg32():New(HKEY_CURRENT_USER,"SOFTWARE\PDFCreator\Program")
	     oReg:Set("AutosaveDirectory","c:\pruebas")
	     oReg:Set("AutosaveFilename",ccodpro+"-"+cliqui)
	     oReg:Close()
             MsgWait( "Cliente  "+ccodpro+" Factura  "+cliqui, "GENERANDO PDF", 1 )
	     msginfo('Cliente '+ccodpro+' Factura '+cliqui,'GENERANDO PDF')
Y si ya tienes registrado correctamente el pdfcreator, y en el registro de windows has modificado directamente sus parámetros, simplemente así:

Code: Select all

	     npdf:=ccodpro+cliqui
	     PRINT oPrn NAME npdf TO "PDFCreator"  // FROM USER //PREVIEW
Algo importante: que no entiendo la explicación, si no pongo el msgwait no funciona.

A ver si te ayuda

Saludos

Jose Luis

Posted: Fri Jun 29, 2007 2:23 pm
by Francisco Horta
jose luis gracias por la ayuda, de hecho no quiero tener fijo en el registro la ruta, esta quiero que sea aleatoria en cada pc y que el usuario tenga la oportunidad de elegir el nombre y la ruta, de hecho existe esa pantalla en el mismo sistema del PDFCreator, yo no uso la opcion PRINT... TO PDFCreator yo uso oPrn:setup() y en esta opcion cuando elijo la PDFCreator el sistema me dice que no tengo ninguna impresora seleccionada y no imprime, pero en esta opcion como lo tengo

oPdfApp:cOption("AutoSaveDirectory", "C:\PDV" )
oPdfApp:cOption("AutoSaveFileName" , "Mypdf" )
oPdfApp:cSaveOptions()

msginfo() -> aqui me voy al registro de windows a ver si me hizo el cambio que le puse arriba y el registro no esta cambiado, entonces quiere decir que las lineas de arriba no estan funcionando...
y lo que no quiero es dejar la ruta fija en el registro,,
salu2
paco

Posted: Fri Jun 29, 2007 3:15 pm
by Francisco Horta
Desintale y volvi a instalar el PDFCreator y cuando selecciono la impresora en el oPrn:Setup() ya me la reconoce, pero si selecciono la impresora normal y luego desde mi preview lo mando guardar a PDF no me lo genera
Adjunto la imagen del preview
http://img80.imageshack.us/img80/2184/pdfdn9.jpg
salu2
paco

Posted: Fri Jun 29, 2007 4:40 pm
by sysctrl2
Paco q ondas,

has probado PAPERLES printer ?

tambien con el setup elijes la impresora virtual,

y tambien te pide el nombre y en que carpeta quieres los resultados,

y no necesitas modificar nada a los reportes de tu sistema.


saludos..

Posted: Fri Jun 29, 2007 9:49 pm
by JoseLuis
Francisco,
Yo utilizo el primer ejemplo que te puse, dentro de un bucle, y los valores no son fijos en el registro, sino que cada impresión, graba en el registro una ruta y unos valores.
Con ese ejemplo, si estoy imprimiendo facturas, enruto el pdf a \facturas, y si estoy con albaranes a \albaranes, es decir cada documento, con

Code: Select all

       oReg:=TReg32():New(HKEY_CURRENT_USER,"SOFTWARE\PDFCreator\Program") 
Lo que hace es grabar en el registro cómo va a ser esa impresion, y después la imprime.

Saludos

Jose Luis

Posted: Fri Jun 29, 2007 9:54 pm
by sysctrl2
Jose Luis,

algun ejemplo mas full para probar ?

claro si es que se puede,

saludos..