FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour clase Tpdf
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM

clase Tpdf

Posted: Tue Sep 18, 2012 06:17 AM
Hola a todos:

Estoy utilizando la clase Tpdf y hasta ahora no habia necesitado cambiar de tipo de letra y ahora que lo intento no me funciona siempre me sale el mismo tipo de letra, sin embargo si cambio el tamaño y si es NEGRITA o no eso si funciona el fuente es muy sencillo:

Code (fw): Select all Collapse
  store 595/147 to fiz1
  store 842/80  to col
  oPdf := tpdf():new("VistaPrevia.pdf")
  oPdf:Pdfnewpage("A4","P",6,trim(vnocab))
  if opci14 = 1
    oPdf:PdfImage(xrutadato + "EMP" + xempr + "\factura.jpg",0,0,595,842)
  endif
  do while .T.
    if eof()
      exit
    endif
    if cabecera = "S"
      oPdf:PdfSetFont(upper(trim(vnocab)),1,ABS(vhecab))
      oPdf:PdfAtSay(trim(substr(descripcio,1,49)) ,842-(col*columna), fila*fiz1,.T.)
    else
      oPdf:PdfSetFont(upper(trim(vnolin)),0,ABS(vhelin))
      oPdf:PdfAtSay(trim(substr(descripcio,1,49)) ,842-(col*columna), fila*fiz1,.T.)
    endif
    skip + 1
  enddo
  oPdf:PdfClosePage()
  oPdf:PdfClose()


En el principio esta :

Code (fw): Select all Collapse
#include "PdfHbDoc.ch"


Alguien poria ayuarme de como solucionarlo.

Gracias.

Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM

Re: clase Tpdf

Posted: Tue Sep 18, 2012 09:05 AM

Carlos,

Puedes copiar aqui el código fuente de la clase TPdf que estás usando ? gracias

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM

Re: clase Tpdf

Posted: Tue Sep 18, 2012 09:25 AM
Hola Antonio:

Que te refieres con el codigo fuente Yo compilo con:

Code (fw): Select all Collapse
del fyvwin.exe
del *.c
del *.obj
echo clp2harb

copy obj\c0w32.obj

set hdir=c:\xharbour\bin\
set bdir=c:\bcc582\bin\

SET PATH=C:\fwh\bin;c:\bcc582\bin;c:\xharbour\bin;c:\copiones
SET LIB=C:\fwh\lib;c:\bcc582\lib;c:\xharbour\lib;c:\xharbour\lib\psdk
SET INCLUDE=C:\fwh\include;c:\bcc582\include;c:\xharbour\include

%hdir%harbour fyvwin /m/n
%hdir%harbour rddsys   /n
%hdir%harbour preparar /n
%hdir%harbour procesos /n
%hdir%harbour gestmenu /n
%hdir%harbour gesttext /n
%hdir%harbour gestempr /n
%hdir%harbour gestusua /n
%hdir%harbour gestusu2 /n
%hdir%harbour gestmult /n
%hdir%harbour gestacti /n
%hdir%harbour gestutil /n
%hdir%harbour gestauto /n
%hdir%harbour gestbanc /n
%hdir%harbour gestconc /n
%hdir%harbour gestempl /n
%hdir%harbour gestprov /n
%hdir%harbour gestclie /n
%hdir%harbour gestnume /n
%hdir%harbour gestcent /n
%hdir%harbour gestclau /n
%hdir%harbour gestmovi /n
%hdir%harbour gestpres /n
%hdir%harbour gestenvi /n
%hdir%harbour gestaver /n
%hdir%harbour gestmant /n
%hdir%harbour gestalba /n
%hdir%harbour gestfact /n
%hdir%harbour gestcome /n
%hdir%harbour gestpunt /n
%hdir%harbour gestrest /n
%hdir%harbour gesthote /n
%hdir%harbour gestfacg /n
%hdir%harbour gestalbg /n
%hdir%harbour gestvenc /n
%hdir%harbour gestlist /n
%hdir%harbour gestlis2 /n
%hdir%harbour gestimpr /n
%hdir%harbour gestimp2 /n
%hdir%harbour rpreview /n
%hdir%harbour pdf1 /n
%hdir%harbour pdfhbdcs /n
%hdir%harbour tsmtp /n
%hdir%harbour window /n

%bdir%bcc32 -c fyvwin.c
%bdir%bcc32 -c rddsys.c
%bdir%bcc32 -c preparar.c
%bdir%bcc32 -c procesos.c
%bdir%bcc32 -c gestmenu.c
%bdir%bcc32 -c gesttext.c
%bdir%bcc32 -c gestempr.c
%bdir%bcc32 -c gestusua.c
%bdir%bcc32 -c gestusu2.c
%bdir%bcc32 -c gestmult.c
%bdir%bcc32 -c gestacti.c
%bdir%bcc32 -c gestutil.c
%bdir%bcc32 -c gestauto.c
%bdir%bcc32 -c gestbanc.c
%bdir%bcc32 -c gestconc.c
%bdir%bcc32 -c gestempl.c
%bdir%bcc32 -c gestprov.c
%bdir%bcc32 -c gestclie.c
%bdir%bcc32 -c gestnume.c
%bdir%bcc32 -c gestcent.c
%bdir%bcc32 -c gestclau.c
%bdir%bcc32 -c gestmovi.c
%bdir%bcc32 -c gestpres.c
%bdir%bcc32 -c gestenvi.c
%bdir%bcc32 -c gestaver.c
%bdir%bcc32 -c gestmant.c
%bdir%bcc32 -c gestalba.c
%bdir%bcc32 -c gestfact.c
%bdir%bcc32 -c gestcome.c
%bdir%bcc32 -c gestpunt.c
%bdir%bcc32 -c gestrest.c
%bdir%bcc32 -c gesthote.c
%bdir%bcc32 -c gestfacg.c
%bdir%bcc32 -c gestalbg.c
%bdir%bcc32 -c gestvenc.c
%bdir%bcc32 -c gestlist.c
%bdir%bcc32 -c gestlis2.c
%bdir%bcc32 -c gestimpr.c
%bdir%bcc32 -c gestimp2.c
%bdir%bcc32 -c rpreview.c
%bdir%bcc32 -c pdf1.c
%bdir%bcc32 -c pdfhbdcs.c
%bdir%bcc32 -c tsmtp.c
%bdir%bcc32 -c window.c

%bdir%ilink32 -Gn -aa -Tpe -s -v @fyvwin1.lnk

fyvwin  



y el fyvwin1.lnk es :

Code (fw): Select all Collapse
c0w32.obj    +
fyvwin.obj   +
rddsys.obj   +
preparar.obj +
procesos.obj +
gesttext.obj +
gestmenu.obj +
gestempr.obj +
gestusua.obj +
gestusu2.obj +
gestmult.obj +
gestacti.obj +
gestutil.obj +
gestauto.obj +
gestbanc.obj +
gestconc.obj +
gestempl.obj +
gestprov.obj +
gestclie.obj +
gestnume.obj +
gestcent.obj +
gestclau.obj +
gestmovi.obj +
gestpres.obj +
gestenvi.obj +
gestaver.obj +
gestmant.obj +
gestalba.obj +
gestfact.obj +
gestcome.obj +
gestpunt.obj +
gestrest.obj +
gesthote.obj +
gestfacg.obj +
gestalbg.obj +
gestvenc.obj +
gestlist.obj +
gestlis2.obj +
gestimpr.obj +
gestimp2.obj +
rpreview.obj +
tsmtp.obj    +
pdf1.obj     +
window.obj   +
pdfhbdcs.obj,+
fyvwin.exe,  +
fyvwin.map,  +
c:\fwh\lib\FiveHX.lib +
c:\fwh\lib\FiveHC.lib +
c:\fwh\lib\Tpdfx.lib +
C:\xHarbour\lib\rtl.lib +
C:\xHarbour\lib\vm.lib +
C:\xHarbour\lib\gtgui.lib +
C:\xHarbour\lib\lang.lib +
C:\xHarbour\lib\macro.lib +
C:\xHarbour\lib\rdd.lib +
C:\xHarbour\lib\dbfntx.lib +
C:\xHarbour\lib\dbfcdx.lib +
C:\xHarbour\lib\dbffpt.lib +
C:\xHarbour\lib\hbsix.lib +
C:\xHarbour\lib\debug.lib +
C:\xHarbour\lib\common.lib +
C:\xHarbour\lib\pp.lib +
C:\xharbour\lib\pcrepos.lib +
C:\xHarbour\lib\ct.lib +
C:\xHarbour\lib\zlib.lib +
C:\xHarbour\lib\hbzip.lib +
C:\xHarbour\lib\rddads.lib +
C:\xHarbour\lib\ace32.lib +
C:\xHarbour\lib\codepage.lib +
C:\bcc582\lib\cw32.lib +
C:\bcc582\lib\import32.lib +
C:\bcc582\lib\uuid.lib +
C:\bcc582\lib\wininet.lib +
C:\bcc582\lib\oleaut32.lib +
C:\bcc582\lib\psdk\odbc32.lib +
C:\bcc582\lib\psdk\rasapi32.lib +
C:\bcc582\lib\psdk\nddeapi.lib +
C:\bcc582\lib\psdk\msimg32.lib +
C:\bcc582\lib\psdk\iphlpapi.lib +
C:\bcc582\lib\psdk\psapi.lib +



el prg es el gestimpr.prg y lo que incluyo de la clase Tpdf son:

pdf1.prg
pdfhbdcs.prg

y tambien se incluye la libreria:

Tpdfx.lib

Un saludo

Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM

Re: clase Tpdf

Posted: Tue Sep 18, 2012 11:45 AM
Carlos a mí así como esta en el código me funciona

Code (fw): Select all Collapse
oPdf:Pdfatsay("Agente de Retención: " + "08712-8"+ space(25) + "Tipo de Agente : particular",cm2dpi(2.4),250,.t.)

oPdf:Pdfsetfont( "TIMES",   BOLD, 10)
//oPdf:Pdfsetfont( "COURIER",BOLD, 10)
oPdf:Pdfatsay("Régimen General de Ingresos Brutos Capital Federal ",cm2dpi(nrow+= .8),cmancho(6))
oPdf:Pdfsetfont( "COURIER",NORMAL, 9)
oPdf:Pdfatsay("Descripción Régimen: Res. 533-SH y F-200 - Régimen General de Retención del I.S.I.B.",cm2dpi(nrow+= .4),cmancho(2.5))
oPdf:Pdfsetfont( "COURIER",NORMAL, 10)


Yo estoy compilando directamente la librería que viene de xharbour pdflib.lib

Luis
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM

Re: clase Tpdf

Posted: Tue Sep 18, 2012 12:44 PM

Hola Luis:

He encontrado la libreria que me indicas y me pasa lo mismo pero veo una diferencia es que yo para poner negrita no me vale poner BOLD como pones tu sino tengo que poner 1 y para NORMAL pongo 0, sino da error.

Es la única diferencia.

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM

Re: clase Tpdf

Posted: Tue Sep 18, 2012 01:48 PM

Tenés que incluir los includes

include "PdfHbDoc.ch"

include "Pdf.ch"

Luis

Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM

Re: clase Tpdf

Posted: Tue Sep 18, 2012 01:54 PM
Te envío el prg que yo hice y funciona:

Code (fw): Select all Collapse
FUNCTION  impibrpdf1(aMae,  oVar,cPath)                       //impresion en pdf para enviar por correo retenciones capital
local z := 0
local nrow := 3.2
local cTitulo := ""
local oPdf

 cTitulo := "Capital Federal"


 opdf := tpdf():new(cPath)


 titpdef(oPdf)                    // creopdf están los titulos

 

oPdf:Pdfatsay("CUIT 30-65485547-8"  ,cm2dpi(2.4 ),100,.T.)
oPdf:Pdfatsay(("Nº Ingresos Brutos: " + oApp:nroBruto),cm2dpi(2.0),250,.t.)
oPdf:Pdfatsay("Agente de Retención: " + "08712-8"+ space(25) + "Tipo de Agente : particular",cm2dpi(2.4),250,.t.)

oPdf:Pdfsetfont( "TIMES",   BOLD, 10)
//oPdf:Pdfsetfont( "COURIER",BOLD, 10)
oPdf:Pdfatsay("Régimen General de Ingresos Brutos Capital Federal ",cm2dpi(nrow+= .8),cmancho(6))
oPdf:Pdfsetfont( "COURIER",NORMAL, 9)
oPdf:Pdfatsay("Descripción Régimen: Res. 533-SH y F-200 - Régimen General de Retención del I.S.I.B.",cm2dpi(nrow+= .4),cmancho(2.5))
oPdf:Pdfsetfont( "COURIER",NORMAL, 10)

oPdf:Pdfatsay("Fecha: " + dtoc(oVar:dfecha),cm2dpi(nrow+= .7),cmancho(1.5))
oPdf:Pdfatsay("Certificado N°  " +  ("0001-" + CSTR(year(date())) +"-" + strzero(oVar:nNbrucap,6)),cm2dpi(nrow+= .5),cmancho(1.5))
oPdf:Pdfatsay("Período  " +  (  strzero(month(date()),2)  +"/"  + substr( CSTR(year(date())),-2)),cm2dpi(nrow+= .5),cmancho(1.5))
oPdf:Pdfatsay(("Rentenido a: " + aMae[2]),cm2dpi(nrow+= .5),cmancho(1.5))
oPdf:Pdfatsay(("CUIT " + aMae[7]),cm2dpi(nrow+= .5),cmancho(1.5))
oPdf:Pdfatsay(("Domicilio: " + alltrim(aMae[3]) + space(2) + alltrim(aMae[4])),cm2dpi(nrow+= .5),cmancho(1.5))
oPdf:Pdfatsay(aMae[5],cm2dpi(nrow+= .5),cmancho(1.5))
oPdf:Pdfatsay(("Número de IIBB: " + aMae[17] ),cm2dpi(nrow+= .5),cmancho(1.5))
oPdf:Pdfatsay("Pago efectuado: $" + transform(oVar:totalre,"@e 999,999.99"),cm2dpi(nrow+= .5),cmancho(1.5))
oPdf:Pdfatsay("Importe retenido: $" + transform(oVar:nRetibcap,"@e 999,999.99"),cm2dpi(nrow+= .5),cmancho(1.5))
oPdf:Pdfatsay("Alícuota aplicada: %" + transform(oVar:Ibrecap , "@e 99.99"),cm2dpi(nrow+= .5),cmancho(1.5))
if !empty(oVar:iva)
    oPdf:Pdfatsay( "Iva: " + transform(oVar:iva,"@e 999,999.99"),cm2dpi(nrow+= .5),cmancho(1.5))
    oPdf:Pdfatsay("Otros conceptos:" + transform(oVar:otroscon, "@e 99,999.99"),cm2dpi(nrow+= .5),cmancho(1.5))
endif

for x = 1 to len(oVar:adeta)
      if oVar:adeta[x,5] >= oApp:minibru
          oPdf:Pdfatsay(("Afecta a comprobante Nº " + oVar:adeta[x,2] + " Base Imp. " + transform(oVar:adeta[x,5],"@e 999,999.99")),cm2dpi(nrow+= .5),cmancho(1.5))
      endif
next


oPdf:Pdfatsay("Importe que será depositado por declaración jurada correspondiente al mes de",cm2dpi(nrow+= 1.2),cmancho(1.5))
oPdf:Pdfatsay((mes(month(oVar:dfecha)) + " de " + valstr(year(oVar:dFecha))),cm2dpi(nrow+= .5),cmancho(1.5))


 opdf:Pdfimage(oApp:curproga +"firma1.jpg", cm2dpi(nrow+= 3.5), cmancho(9.5),158,100)  

 opdf:Pdfclosepage()
 opdf:pdfclose()

return nil

/*******************************************************************************/
 FUNCTION titpdef(oPdf)
 opdf:Pdfnewpage("A4","P")

opdf:Pdfimage(oApp:curproga + "logoc1.jpg", cm2dpi(2.5), 0,85,66) 
oPdf:Pdfsetfont( "TIMES",   BOLD, 10)
opdf:Pdfatsay("QUÍMICA MEGA SA",cm2dpi( .7 ),100,.T.)
oPdf:Pdfsetfont( "TIMES",NORMAL, 10)
oPdf:Pdfatsay("Matanza 1456/58",cm2dpi( 1.2 ),100,.T.)
oPdf:Pdfatsay("Avellaneda-Pcia Bs As",cm2dpi( 1.6 ),100,.T.)
oPdf:Pdfatsay("T.E.: 4289-2700(Rotativas)",cm2dpi( 2.0 ),100,.T.)
oPdf:Pdfatsay(replicate("_",115),cm2dpi( 2.6 ),10,.T.)

return nil
/*******************************************************************************/


Enlazado con xharbour 1.21 (último), fwh7.12 y bcc582
los include estan en la contribuciones
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM

Re: clase Tpdf

Posted: Tue Sep 18, 2012 02:43 PM

Hola Luis y Antonio:

Ya me acuerdo porque no ponia el PDF.CH y es porque tambien uso DEFINE FONT y eso interferia y usaba el 1 y el 0 en vez de BOLD y NORMAL. No obstante he desactivado todos los DEFINE FONT con BOLD y he puesto el PDF.CH y tampoco me funciona el cambio de letra.

Tambien tengo problemas con las imagenes pero lo resolvi con un programa que si las guardo con él si funciona.

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM

Re: clase Tpdf

Posted: Tue Sep 18, 2012 02:47 PM

Hola Antonio:

Era el codigo que decias.

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM

Re: clase Tpdf

Posted: Tue Sep 18, 2012 03:13 PM

por favor, podria indicar de donde bajar la clase TPdf()
Mil gracias

Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM

Re: clase Tpdf

Posted: Tue Sep 18, 2012 03:40 PM

Hola Willi Quintana:

http://www.colthop.es/TPDF.zip

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM

Re: clase Tpdf

Posted: Tue Sep 18, 2012 05:18 PM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM

Re: clase Tpdf

Posted: Tue Sep 18, 2012 05:37 PM

Ya he averiguado, solo se pueden poner ciertos tipos deletras y todasde paso fijo Times, Courier, Helvetica.

Se podria aumentar esta cantidad detipos.

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM

Re: clase Tpdf

Posted: Tue Sep 18, 2012 06:01 PM
Amigos

He compilado el Ejemplo

Y me da error en la libreria RTL.LIB

Sale este error:
Code (fw): Select all Collapse
Error: Unresolved external '_compress' referenced from D:\COMPILER\XHARBOUR\LIB\RTL.LIB|hbcomprs
Error: Unresolved external '_uncompress' referenced from D:\COMPILER\XHARBOUR\LIB\RTL.LIB|hbcomprs
Error: Unresolved external '_zError' referenced from D:\COMPILER\XHARBOUR\LIB\RTL.LIB|hbcomprs


Pensé que era el BCC intenté con BCC63 y BCC582 con XHarbour Rev. 9445 y con la última Rev. 9656 la cual da más errores.

También tengo problemas al exportar a Excel de xBrowse usando oBrw:ToExcel()

Gracias por la ayuda.

Saludos,

Adhemar
Saludos,



Adhemar C.