BullZip PDF

Antonio Martinez
Posts: 72
Joined: Tue Sep 11, 2007 3:51 pm

BullZip PDF

Post by Antonio Martinez »

Hola a todos,

Siguiendo un ejemplo de Pere Codornet he intentado SIN EXITO hacer la impresion con BullZip PDF con el codigo siguiente

Code: Select all

FUNCTION TestBullZip()
Local oApp
Local cNomPdf:= "TestBull.Pdf"

Iif(File(cNomPdf),FErase(cNomPdf),NIL)

oApp := CreateObject( "Bullzip.PDFPrinterSettings" )
oApp:LoadSettings(.F.)
oApp:SetValue("output", cNomPdf )
oApp:SetValue("showpdf", "no")
oApp:SetValue("showsaveas", "never")
oApp:SetValue("showsettings", "never")
oApp:SetValue("showprogress","no")
oApp:SetValue("showprogressfinished","no")
oApp:SetValue("confirmoverwrite","no")
oApp:SetValue("showsaveas","nofile")
oApp:WriteSettings(.T.)


PRINT oPrn ;
      TITLE "vayita !!";
      TO "Bullzip PDF Printer"

PAGE
   oPrn:ImportWMF( "algo.wmf", .F.  )

ENDPAGE

ENDPRINT
*
RETURN NIL
 
¿ A alguien se le ocurre qué puedo estar haciendo mal para que no me genere el TestBull.Pdf ?

Saludos
User avatar
jll-fwh
Posts: 385
Joined: Fri Jan 29, 2010 8:14 pm
Location: Meliana - Valencia
Contact:

Re: BullZip PDF

Post by jll-fwh »

Hola Antonio:

Si solo necesitas imprimir el PDF, puedes hacer esto: ( es un ejemplo ).

Code: Select all

FUNCTION PDF()

   LOCAL cPDF := "C:\JLL1109\pMail\Pdf\01.pdf"

   ShellExecute( 0, "print", cPDF,,,0 )

RETURN NIL
 
Para que quede mas profesional, si quieres puedes ejecutarlo en modo oculto y luego capturar la ventana Adobe Reader" para cerrarla desde el programa.

Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 3.1.1 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA + OURXDBU -
S.O: XP / Win 7
Blog: http://javierlloris.blogspot.com.es/
e-mail: jllorispersonal@gmail.com
Antonio Martinez
Posts: 72
Joined: Tue Sep 11, 2007 3:51 pm

Re: BullZip PDF

Post by Antonio Martinez »

jll,

Gracias por responder.

No, lo que necesito es generar el pdf con la impresora virtual BullZip PDF, que como comentaba no me funciona.

A ver si pudiera imprimir el pdf.

Saludos
RuFerSo
Posts: 55
Joined: Mon Feb 20, 2012 2:56 pm

Re: BullZip PDF

Post by RuFerSo »

Hola, quizás sea esto lo que necesitas:
Printer oPrn NAME "Impresión de Clientes" to "Bullzip PDF Printer" // funciona si esta la impresora Virtual Bullzip instalada.

Saludos

Ruben Fernandez
Antonio Martinez
Posts: 72
Joined: Tue Sep 11, 2007 3:51 pm

Re: BullZip PDF

Post by Antonio Martinez »

Rubén,


Yo creo que eso que me comentas ya lo hace el codigo que puse, el trozo es este:

Code: Select all

PRINT oPrn ;
      TITLE "vayita !!";
      TO "Bullzip PDF Printer"
 
Gracias en cualquier caso.
pcordonet
Posts: 110
Joined: Sat Jan 30, 2010 8:35 am
Location: Girona

Re: BullZip PDF

Post by pcordonet »

Hola Antonio,

A mi me funciona correctamente con este codigo:

Code: Select all

#include "fivewin.ch"

FUNCTION TestBullZip()
Local oApp
Local cNomPdf:= CURDRIVE()+":\"+Curdir()+"\TestBull.Pdf"

Iif(File(cNomPdf),FErase(cNomPdf),NIL)
SetMode(24,80)

Altd()
oUtil:= CreateObject("Bullzip.PdfUtil")

oApp := CreateObject( "Bullzip.PDFPrinterSettings" )
oApp:LoadSettings(.F.)
oApp:SetValue("output", cNomPdf )
oApp:SetValue("showpdf", "no")
oApp:SetValue("showsaveas", "never")
oApp:SetValue("showsettings", "never")
oApp:SetValue("showprogress","no")
oApp:SetValue("showprogressfinished","no")
oApp:SetValue("confirmoverwrite","no")
oApp:SetValue("showsaveas","nofile")
oApp:WriteSettings(.T.)


PRINT oPrn ;
      TITLE "vayita !!";
      TO "Bullzip PDF Printer"

PAGE
    For n:= 1 To 800 STEP 80
      oPrn:Say( n, 1, "Linia: "+Str(n) )
    Next
ENDPAGE

ENDPRINT

RETURN NIL


Este codigo genera un pdf en el mismo directorio de la prueba llamado "TestBull.Pdf"

A ver si te funciona.

Pere.
Antonio Martinez
Posts: 72
Joined: Tue Sep 11, 2007 3:51 pm

Re: BullZip PDF

Post by Antonio Martinez »

Hola Pere,

Solucionado !

He probado tu ejemplo y me ha funcionado... he buscado la diferencia con el mio y esta en que hay que incluir el path en el nombre del .pdf resultante.

Muchas gracias. Te debo una ;-)

Saludos
pcordonet
Posts: 110
Joined: Sat Jan 30, 2010 8:35 am
Location: Girona

Re: BullZip PDF

Post by pcordonet »

Hola Antonio,

Vamos a mejorar un poco el programa, abrir el pdf después de crearlo.
Como no depende de nosotros i no sabemos cuando tardará, tenemos un fichero que existe mientras no esta creado el pdf.

Code: Select all


#include "fivewin.ch"

FUNCTION TestBullZip()
Local oApp,cRunOnce,oPrn,n
Local cNomPdf:= CURDRIVE()+":\"+Curdir()+"\TestBull.Pdf"

Iif(File(cNomPdf),FErase(cNomPdf),NIL)

oApp := CreateObject( "Bullzip.PDFPrinterSettings" )
oApp:LoadSettings(.F.)
oApp:SetValue("output", cNomPdf )
oApp:SetValue("showpdf", "no")
oApp:SetValue("showsaveas", "never")
oApp:SetValue("showsettings", "never")
oApp:SetValue("showprogress","no")
oApp:SetValue("showprogressfinished","no")
oApp:SetValue("confirmoverwrite","no")
oApp:SetValue("showsaveas","nofile")

oApp:WriteSettings(.T.)

cRunOnce:=  oApp:GetSettingsFileName(.t.)

PRINT oPrn ;
      TITLE "vayita !!";
      TO "Bullzip PDF Printer"

PAGE
    For n:= 1 To 800 STEP 80
      oPrn:Say( n, 1, "Linia: "+Str(n) )
    Next
ENDPAGE

ENDPRINT

// Esperando que se cree el pdf.
Do While File( cRunOnce )
Enddo
Inkey(1) // Esperamos 1 seg. 

// Abrir el pdf
ShellExecute( 0, "open", cNomPdf,,,0 )

*
RETURN NIL

Pere
Antonio Martinez
Posts: 72
Joined: Tue Sep 11, 2007 3:51 pm

Re: BullZip PDF

Post by Antonio Martinez »

Pere,

Si me permites, el inkey(1) lo reemplazaria por:

Code: Select all

IF File(cNomPdf)
   DO WHILE h:= FOpen(cNomPdf, FO_EXCLUSIVE) <= 0
   ENDDO
   FClose(h)
ELSE
   Inkey(1)
ENDIF 
 
¿ Que te parece ? Se trata de no tener que esperar el segundo si el fichero ya esta disponible.

Saludos
Antonio Martinez
Posts: 72
Joined: Tue Sep 11, 2007 3:51 pm

Re: BullZip PDF

Post by Antonio Martinez »

Pere,

Con la opcion:

Code: Select all

oApp:SetValue("showpdf", "yes")
 
también abre el pdf, sin necesidad de hacerlo programáticamente.
Antonio Martinez
Posts: 72
Joined: Tue Sep 11, 2007 3:51 pm

Re: BullZip PDF

Post by Antonio Martinez »

Atención Pere,

He puesto el test que llevamos entre manos en la ofi de mi cliente y en el momento de generar el pdf le aparece ¡ una caja de dialogo ¡ para seleccionar impresora. ¿ Se te ocurre por qué puede estar pasando ? El cliente corre con una sesion de Terminal Server 2008 y ha instalado el BullZip PDF en su sesion. Me parecio que dijiste que BullZip funcionaba en TS.

A ver si me puedes echar una mano que no consigo imprimir pdfs ni con PdfCreator, ni con Image2Pdf y ahora parece que tampoco quiere ir el BullZip.

Gracias.
pcordonet
Posts: 110
Joined: Sat Jan 30, 2010 8:35 am
Location: Girona

Re: BullZip PDF

Post by pcordonet »

Antonio,
Seguramente el nombre de la impresora, fijate bien ( normalmente pone en sesion XXx), esto también forma parte del nombre de la impresora.

Estoy de acuerdo, el problema es cuando lo quieres guardar a algun sitio concreto, o trabajar con el archivo, necesitas saber cuando estara disponible.

de todos modos, gracias por la aclaración.
Pere
Antonio Martinez
Posts: 72
Joined: Tue Sep 11, 2007 3:51 pm

Re: BullZip PDF

Post by Antonio Martinez »

Pere,

Me da la sensacion que es lo que tu dices... que el nombre de la impresora no coincide... lo digo porque me pasa lo mismo con el PDFCreator.

Pero el problema es que en la lista de impresoras obtenida con GetPrinters(), el nombre de la impresora es exactamente correcto: "Bullzip PDF printer"... no hay error.

Alguna idea, porque esto me lleva loco ?

El ambiente de pruebas es Windows Terminal Server 2008.

Saludos
Antonio Martinez
Posts: 72
Joined: Tue Sep 11, 2007 3:51 pm

Re: BullZip PDF

Post by Antonio Martinez »

Pere,

Parece que el problema pueda estar en lo que devuelve GetProfString( "Devices", 0 ) en ambiente Terminal Server 2008. He abierto un nuevo hilo a ver si alguien puede echar una luz.

Saludos
Antonio Martinez
Posts: 72
Joined: Tue Sep 11, 2007 3:51 pm

Re: BullZip PDF

Post by Antonio Martinez »

Pere,

Finalmente pude decirle la impresora Bullzip con SetPrintDefault(); el problema ahora es que en el cliente (Terminal Server) le da un error de que no puede generar el archivo. A mi en la ofi si me lo hace bien.

Has podido tu hacer funcionar el Bullzip en Windows Terminal Server 2008 ?

Saludos
Post Reply