clase Tpdf

colthop
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

clase Tpdf

Post by colthop »

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: Select all

  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: Select all

#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.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: clase Tpdf

Post by Antonio Linares »

Carlos,

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

Antonio Linares
www.fivetechsoft.com
colthop
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: clase Tpdf

Post by colthop »

Hola Antonio:

Que te refieres con el codigo fuente Yo compilo con:

Code: Select all

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: Select all

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.
surGom
Posts: 624
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

Re: clase Tpdf

Post by surGom »

Carlos a mí así como esta en el código me funciona

Code: Select all

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 _ 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
colthop
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: clase Tpdf

Post by colthop »

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.
surGom
Posts: 624
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

Re: clase Tpdf

Post by surGom »

Tenés que incluir los includes

#include "PdfHbDoc.ch"
#include "Pdf.ch"

Luis
surGom
Posts: 624
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

Re: clase Tpdf

Post by surGom »

Te envío el prg que yo hice y funciona:

Code: Select all

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 _ 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
surGom
Posts: 624
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

Re: clase Tpdf

Post by surGom »

Carlos fijate como queda

https://ftf-267.yousendit.com/download/ ... le=pdf.jpg

Los datos que se muestran son irreales

Luis
colthop
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: clase Tpdf

Post by colthop »

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.
colthop
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: clase Tpdf

Post by colthop »

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.
User avatar
Willi Quintana
Posts: 859
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú
Contact:

Re: clase Tpdf

Post by Willi Quintana »

por favor, podria indicar de donde bajar la clase TPdf()
Mil gracias
colthop
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: clase Tpdf

Post by colthop »

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.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: clase Tpdf

Post by Antonio Linares »

regards, saludos

Antonio Linares
www.fivetechsoft.com
colthop
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: clase Tpdf

Post by colthop »

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.
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: clase Tpdf

Post by acuellar »

Amigos

He compilado el Ejemplo

Y me da error en la libreria RTL.LIB

Sale este error:

Code: Select all

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.
Post Reply