ARCHIVOS PDF

ARCHIVOS PDF

Postby LuisPonce » Fri Jun 10, 2016 2:34 pm

Buenos Dias

Es necesario crear archivos PDF desde mi aplicacion, encontre información en el Foro referente a PDFLIB y TPDF (no se sin lo mismo) use la segunda por que encontre un link que puso Karinha:

como clase propia de FiveWin

https://code.google.com/p/fivewin-contributions/downloads/detail?name=TPDF.zip&can=2&q=

Despues de muchas lunas, construi a mano el TPDFX.LIB pese a que el archivo esta presente, no podia hacer nada, asi que genere los .OBJ de los .PRGs de esa clase y los junté al .LIB existente con TLIB y pude correr el codigo del ejemplo dentro de mi aplicacion:

a mi .RMK le agregue ..\LIB\TPDFX.LIB

al .PRG que contiene la funcion de ejemplo agregué los ficheros de cabecera

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

si libero el "Pdf.ch" me dá 84 errores del tipo;

Syntax Error: At 'FONT'
Syntax Error: At 'OREPORTE'
Invalid lvalue: '()'


poniendolo como comentario corre, asi que pude agrear el codigo de ejemplo para correrlo
desde mi aplicacion

Code: Select all  Expand view
Function MyFirstPdf(oWnd)

   Local oPdf := TPdf():New( "First.pdf",, letter_height, letter_width ) // ( cFileName, nHeight, nWidth )

   oPdf:PdfNewPage( , "P",, "Arial",, 24 ) // ( cPaperSize, cOrientation, nLinesPerInch, cFontName, nFontType, nFontSize )
   oPdf:PdfImage( "nomina1.jpg", 0, 0, letter_width, letter_height )
   oPdf:PdfClosePage()
   oPdf:PdfNewPage( , "P",, "Arial",, 24 ) // ( cPaperSize, cOrientation, nLinesPerInch, cFontName, nFontType, nFontSize )
   oPdf:PdfImage( "nomina2.jpg", 0, 0, letter_width, letter_height )
   oPdf:PdfClosePage()
   oPdf:PdfClose()

   ShellExecute( oWnd:hWnd, "open", "First.pdf" )

Return Nil


y corrió..... genera el "First.pdf" pero vacío y con el siguiente error:


"Error al procesar pagina. Numero fuera de rango"

probé con otro ejemplo:

Code: Select all  Expand view


function creapdfcc(oWnd)

   local dresult // :=  DEHASTA()
   local cImpdos
   local oprn
   local nsaldo := 0
   local nvalor := 0
   local z := 0
   local cPath := "MEUPDF.pdf"
   local oPdf
   local ntotal := 0

   n  := 2.9

   opdf := tpdf():new(cPath)

*   opdf:Pdfnewpage("A4","P")
   oPdf:PdfNewPage("A4" , "P",, "Arial",, 24 ) // ( cPaperSize, cOrientation, nLinesPerInch, cFontName, nFontType, nFontSize )

   opdf:Pdfimage(".\QRCODE.jpg", cm2dpi(2.5), 0,85,66)

   opdf:Pdfatsay("QUÍMICA MEGA SA",cm2dpi( .7 ),100,.T.)

   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.5 ),10,.T.)

   opdf:Pdfclosepage()
   opdf:pdfclose()

   msginfo("Archivo creado con éxito","Aviso del sistema")

   /*
   if !empty(cmail)
      correo(cMail,,("Enviamos resumen de cuenta desde " + transform(dresult[1],"@d") + " hasta " +  transform(dresult[1],"@d") ),"Resumen de cuenta", alltrim(cPath ) )
   endif
   */


   ShellExecute( oWnd:hWnd, "open", "meupdf.pdf" )

return .t.

/*******************************************************************************/

function cm2dpi( nCM, page, lHeight )

   Local nHeight,nDpi := 72
   Local nRes

   if empty( lHeight )
      lHeight := .T.
   endif

   if lHeight
      nHeight := 842.0
      nRes := nHeight - ( nCM * nDpi / 2.54 )
   else
      nRes := ( nCM * nDpi / 2.54 )
   endif

return nRes



Function MyFirstPdf2(oWnd)

   Local oPdf := TPdf():New( "First.pdf",, letter_height, letter_width ) // ( cFileName, nHeight, nWidth )

   oPdf:PdfNewPage( , "P",, "Arial",, 24 ) // ( cPaperSize, cOrientation, nLinesPerInch, cFontName, nFontType, nFontSize )
   oPdf:PdfImage( "nomina1.jpg", 0, 0, letter_width, letter_height )
   oPdf:PdfClosePage()
   oPdf:PdfNewPage( , "P",, "Arial",, 24 ) // ( cPaperSize, cOrientation, nLinesPerInch, cFontName, nFontType, nFontSize )
   oPdf:PdfImage( "nomina2.jpg", 0, 0, letter_width, letter_height )
   oPdf:PdfClosePage()
   oPdf:PdfClose()

   ShellExecute( oWnd:hWnd, "open", "First.pdf" )

Return Nil



 



Con el mismo resultado, sospecho que:

1. como creé a mano el TPDFX.LIB omití algo e imagino que es el pdfhbdoc.obj, pues
no encontre el .prg para generar el .obj y añadirlo al .lib

2. o la clase esta incompleta
3. la clase no es para xHarbour
4. o es el "pdf.ch" que omito

Utilizo:

xHarbour Compiler 1.1.0 (Simplex)
FWHX 8.02

Alguien tendra alguna idea de por que me marca ese error??
o que puedo estar omitiendo

Ojo: Abriendo el First.pdf desde fuera de la aplicacion, me da el mismo error

Gracias
Last edited by LuisPonce on Fri Jun 10, 2016 2:44 pm, edited 1 time in total.
Luis Ponce
User avatar
LuisPonce
 
Posts: 195
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Re: ARCHIVOS PDF

Postby Willi Quintana » Fri Jun 10, 2016 2:43 pm

Hola Lucho,,,
ve esto..

Code: Select all  Expand view

oPdf:PdfSetFont( "COURIER NEW", 0, nFontPdf )
opdf:Pdfnewpage("A4","P")

oPdf:Pdfimage(".\BMP\svite.jpg", cm2dpi(2.5), 0, 580, 60)


//PdfSay(oPdf, _DELEN3(oApp:cMaster), 2.5, 2.5, "TIMES", BOLD, 10)
PdfSay(oPdf, "EMPRESA", 2.5, 2.5, "TIMES", BOLD, 10)
PdfSay(oPdf, "COTIZACION", 3.0, 8.0, "TIMES", NORMAL, 20)
PdfSay(oPdf, "SRS: " + cNombre, 3.5, 2.5, "TIMES", BOLD, 8)
PdfSay(oPdf, "DIR: " + cDirecc, 4.0, 2.5)
PdfSay(oPdf, "RUC: " + cNumRuc, 4.5, 2.5)
PdfSay(oPdf, REPLICATE("_",115), 5.5, 2.5)

CURSORWAIT()

cLinea := "Cantidad  Unid   Producto                                               Precio Un. Sub Total"
PdfSay(oPdf, cLinea, 6.0, 2.5, "COURIER NEW", 0, 8)

nCont := 6.3

nLen := LEN(adetVen)
FOR nContR := 1 TO nLen

  cLinea := PADL(ALLTRIM(aDetVen[nContR,03]),9) + " " +PADR(aDetVen[nContR,02],5) + " " + PADR(aDetVen[nContR,01],50) + " " + PADL(aDetVen[nContR,04],12) + " " + PADL(aDetVen[nContR,07],12)
  PdfSay(oPdf, cLinea, nCont, 2.5)

  nTotal := nTotal + VAL(aDetVen[nContR,07])

  nCont := nCont + 0.3

  If nCont > 20

  EndIf

NEXT nCont

nCont += 0.3
PdfSay(oPdf, PADL("Total..."  + IF(nMoneda=1,"S/.","U$.") + STR(nTotal,12,2),92), nCont, 2.5)

nCont += 0.3
PdfSay(oPdf, "Precios Válidos Hasta :" + DTOST(dFecha1) + " -Forma de Pago :" + cFormaPago + " -Forma de Entrega :" + cFormaEntrega, nCont, 2.5)

nCont += 0.3
PdfSay(oPdf, "Los precios están sujetos a cambios sin previo aviso", nCont, 2.5)

nCont += 0.3
PdfSay(oPdf, "Fecha : " + DtoC(oApp:dDate) + " :" + Time(), nCont, 2.5)

oPdf:PdfClosepage()
oPdf:PdfClose()

SHELLEXECUTE( 0, 0, cFile, 0, 0, 1 )


//-------------------------------------

//------------------------------------------------------------------------------------------------------------------------------
Function PdfSay(oPdf, cCadena, nPosV, nPosH, cFont, cType, nTam)
DEFAULT cFont := "COURIER NEW"
DEFAULT cType := "NORMAL"
DEFAULT nTam  := 10

IF PCount() > 4  //!EMPTY(cFont)
  oPdf:Pdfsetfont( cFont, cType, nTam)
EndIf

oPdf:Pdfatsay(cCadena, Cm2Dpi( nPosV ), Cm2Dpi( nPosH, .f.), .T.)

Return(Nil)

//---------------------------------------------------------------------------------------------------------------------------------
Function PdfBox(oPdf, nIni1, nIni2, nTam1, nTam2, cFont, cType, nTam)
DEFAULT cFont := "COURIER NEW"
DEFAULT cType := "NORMAL"
DEFAULT nTam  := 10

IF PCount() > 5   //!EMPTY(cFont)
  oPdf:Pdfsetfont( cFont, cType, nTam)
EndIf

oPdf:PDF_RECT(Cm2Dpi( nIni1 ), Cm2Dpi( nIni2, .f.), nTam1, nTam2 )
oPdf:PDF_STROKE()

Return(Nil)

//----------------------------------------------------------------------------------------------------------------------------
Function Cm2Dpi( nCM, lHeight )
Local nHeight,nDpi := 72
Local nRes
DEFAULT lHeight := .t.

If lHeight
   nHeight := 842.0
   nRes := nHeight - ( nCM * nDpi / 2.54 )
 Else
   nRes := ( nCM * nDpi / 2.54 )
Endif

Return( nRes )

 
User avatar
Willi Quintana
 
Posts: 1019
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: ARCHIVOS PDF

Postby LuisPonce » Fri Jun 10, 2016 3:01 pm

Hola Willy

Gracias por tu respuesta

no corre, me da error:

oPdf:PdfSetFont( "COURIER NEW", 0, nFontPdf )

que valores puede contener nFontPDf;
le puse valor 10 y pasó


PdfSay(oPdf, "EMPRESA", 2.5, 2.5, "TIMES", BOLD, 10)
PdfSay(oPdf, "COTIZACION", 3.0, 8.0, "TIMES", NORMAL, 20)
PdfSay(oPdf, "SRS: " + cNombre, 3.5, 2.5, "TIMES", BOLD, 8)

que valores debe contener:

BOLD
NORMAL

Application
===========
Path and name: C:\VENTAS\Ventas.exe (32 bits)
Size: 5,330,944 bytes
Time from start: 0 hours 0 mins 15 secs
Error occurred at: 10/06/2016, 10:03:26
Error description: Error BASE/1081 Argument error: +
Args:
[ 1] = C NORMAL
[ 2] = N 1

Stack Calls
===========
Called from: pdf1.prg => TPDF:PDFSETFONT(553)
Called from: vt20150.prg => PDFSAY(8715)
Called from: vt20150.prg => CREAPDFCC(8657)
Called from: fw-vt2.prg => (b)BUILDMENU(746)
Called from: MENU.PRG => TMENU:COMMAND(0)
Called from: WINDOW.PRG => TWINDOW:COMMAND(0)
Called from: MDIFRAME.PRG => TMDIFRAME:COMMAND(0)
Called from: => TMDIFRAME:HANDLEEVENT(0)
Called from: WINDOW.PRG => _FWH(0)
Called from: => WINRUN(0)
Called from: WINDOW.PRG => TMDIFRAME:ACTIVATE(0)
Called from: fw-vt2.prg => MAIN(660)
Luis Ponce
User avatar
LuisPonce
 
Posts: 195
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Re: ARCHIVOS PDF

Postby LuisPonce » Fri Jun 10, 2016 3:33 pm

Willy

Me debe faltar algunos #define
He resuelto los mensajes, agregué las variables

y me dió el mismo resultado

"Error al procesar pagina. Número fuera de rango"

Debe ser algo relacionado con la construccion de la clase
Last edited by LuisPonce on Sat Jun 11, 2016 12:02 am, edited 1 time in total.
Luis Ponce
User avatar
LuisPonce
 
Posts: 195
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Re: ARCHIVOS PDF

Postby Willi Quintana » Fri Jun 10, 2016 3:35 pm

Luis,,,, faltaba las cabeceras
Code: Select all  Expand view

# include "fivewin.ch"                  // 0x4L |
# include "report.ch"
# include "dtpicker.ch"
# include "xbrowse.ch"

Function PruebaPdf()

cFile := "Prueba.PDF"

oPdf := TPdf():New( cFile ) //, , 612, 792  )

oPdf:PdfInfo( "COTIZACION", "" ,"", "" )

oPdf:PdfSetFont( "COURIER NEW", 0, nFontPdf )
opdf:Pdfnewpage("A4","P")


oPdf:Pdfimage(".\BMP\svite.jpg", cm2dpi(2.5), 0, 580, 60)


//PdfSay(oPdf, _DELEN3(oApp:cMaster), 2.5, 2.5, "TIMES", BOLD, 10)
PdfSay(oPdf, "EMPRESA", 2.5, 2.5, "TIMES", BOLD, 10)
PdfSay(oPdf, "COTIZACION", 3.0, 8.0, "TIMES", NORMAL, 20)
PdfSay(oPdf, "SRS: " + cNombre, 3.5, 2.5, "TIMES", BOLD, 8)
PdfSay(oPdf, "DIR: " + cDirecc, 4.0, 2.5)
PdfSay(oPdf, "RUC: " + cNumRuc, 4.5, 2.5)
PdfSay(oPdf, REPLICATE("_",115), 5.5, 2.5)

CURSORWAIT()

cLinea := "Cantidad  Unid   Producto                                               Precio Un. Sub Total"
PdfSay(oPdf, cLinea, 6.0, 2.5, "COURIER NEW", 0, 8)

nCont := 6.3

nLen := LEN(adetVen)
FOR nContR := 1 TO nLen

  cLinea := PADL(ALLTRIM(aDetVen[nContR,03]),9) + " " +PADR(aDetVen[nContR,02],5) + " " + PADR(aDetVen[nContR,01],50) + " " + PADL(aDetVen[nContR,04],12) + " " + PADL(aDetVen[nContR,07],12)
  PdfSay(oPdf, cLinea, nCont, 2.5)

  nTotal := nTotal + VAL(aDetVen[nContR,07])

  nCont := nCont + 0.3

  If nCont > 20

  EndIf

NEXT nCont

nCont += 0.3
PdfSay(oPdf, PADL("Total..."  + IF(nMoneda=1,"S/.","U$.") + STR(nTotal,12,2),92), nCont, 2.5)

nCont += 0.3
PdfSay(oPdf, "Precios Válidos Hasta :" + DTOST(dFecha1) + " -Forma de Pago :" + cFormaPago + " -Forma de Entrega :" + cFormaEntrega, nCont, 2.5)

nCont += 0.3
PdfSay(oPdf, "Los precios están sujetos a cambios sin previo aviso", nCont, 2.5)

nCont += 0.3
PdfSay(oPdf, "Fecha : " + DtoC(oApp:dDate) + " :" + Time(), nCont, 2.5)

oPdf:PdfClosepage()
oPdf:PdfClose()

SHELLEXECUTE( 0, 0, cFile, 0, 0, 1 )


//-------------------------------------

//------------------------------------------------------------------------------------------------------------------------------
Function PdfSay(oPdf, cCadena, nPosV, nPosH, cFont, cType, nTam)
DEFAULT cFont := "COURIER NEW"
DEFAULT cType := "NORMAL"
DEFAULT nTam  := 10

IF PCount() > 4  //!EMPTY(cFont)
  oPdf:Pdfsetfont( cFont, cType, nTam)
EndIf

oPdf:Pdfatsay(cCadena, Cm2Dpi( nPosV ), Cm2Dpi( nPosH, .f.), .T.)

Return(Nil)

//---------------------------------------------------------------------------------------------------------------------------------
Function PdfBox(oPdf, nIni1, nIni2, nTam1, nTam2, cFont, cType, nTam)
DEFAULT cFont := "COURIER NEW"
DEFAULT cType := "NORMAL"
DEFAULT nTam  := 10

IF PCount() > 5   //!EMPTY(cFont)
  oPdf:Pdfsetfont( cFont, cType, nTam)
EndIf

oPdf:PDF_RECT(Cm2Dpi( nIni1 ), Cm2Dpi( nIni2, .f.), nTam1, nTam2 )
oPdf:PDF_STROKE()

Return(Nil)

//----------------------------------------------------------------------------------------------------------------------------
Function Cm2Dpi( nCM, lHeight )
Local nHeight,nDpi := 72
Local nRes
DEFAULT lHeight := .t.

If lHeight
   nHeight := 842.0
   nRes := nHeight - ( nCM * nDpi / 2.54 )
 Else
   nRes := ( nCM * nDpi / 2.54 )
Endif

Return( nRes )
 
User avatar
Willi Quintana
 
Posts: 1019
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: ARCHIVOS PDF

Postby LuisPonce » Fri Jun 10, 2016 3:52 pm

Willy

Agregué las cabaceras

# include "report.ch"
# include "dtpicker.ch"
# include "xbrowse.ch"

tambien

oPdf:PdfInfo( "COTIZACION", "" ,"", "" )

y sigue el mismo error

Error al procesar pagina, numero fuera de rango

Abre el Adobe Reader, el documento en blanco y el mensaje de error
Luis Ponce
User avatar
LuisPonce
 
Posts: 195
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Re: ARCHIVOS PDF

Postby surGom » Fri Jun 10, 2016 11:49 pm

Fijate en este ejemplo que esta funcionando y podes reemplazar las variables y probalo

Y fijate si tenés las cabeceras
#include "PdfHbDoc.ch"
#include "Pdf.ch"

Code: Select all  Expand view

FUNCTION  impibrpdf( aMae, lPcia, oVar, cPath )

   LOCAL z := 0
   LOCAL nrow := 3.2
   LOCAL cTitulo := ""
   LOCAL oPdf
   LOCAL nComproba
   LOCAL x

   IF lPcia

      cTitulo := "Pcia de Buenos Aires"
      nComproba :=  ovar:nNBruto
   ELSE
      nComproba := oVar:nNbrucap
      cTitulo := "Capital Federal"
   ENDIF

   try
   opdf := tpdf():new( cPath )

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



   oPdf:Pdfatsay( "CUIT 30-65485547-8",cm2dpi( 2.4 ), 100, .T. )
   oPdf:Pdfatsay( ( "Agente de Retención: " + oApp:nroBruto ), cm2dpi( 2.4 ), 350, .T. )

   oPdf:Pdfsetfont( "COURIER", NORMAL, 10 )
   oPdf:Pdfatsay( "Retención de Ingresos Brutos", cm2dpi( nrow += .8 ), cmancho( 8 ) )
   oPdf:Pdfatsay( cTitulo, cm2dpi( nrow += .5 ), cmancho( 8.4 ) )
   oPdf:Pdfatsay( "Fecha: " + DToC( oVar:dfecha ), cm2dpi( nrow += .7 ), cmancho( 1.5 ) )
   oPdf:Pdfatsay( "Constancia N° " + valstr( nComproba ), 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( iif(lPcia,oVar:nRetib,oVar:nRetibcap ),"@e 999,999.99" ), cm2dpi( nrow += .5 ), cmancho( 1.5 ) )
   oPdf:Pdfatsay( "Alícuota aplicada: %" + iif( lpcia,Transform(oVar:nPorIB, "@e 99.99" ),Transform(oVar:Ibrecap, "@e 99.99" ) ), cm2dpi( nrow += .5 ), cmancho( 1.5 ) )


   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()
catch
   ? "No encuentro variable"
end

RETURN NIL


FUNCTION cmAncho( nCm, ctexto )

   LOCAL cnum

RETURN multi( nCm, 27.42 )                            //para a4
 


Espero te sirva
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Re: ARCHIVOS PDF

Postby surGom » Fri Jun 10, 2016 11:52 pm

Me olvidé de esta función

Code: Select all  Expand view
FUNCTION titpdef( oPdf )

   opdf:Pdfnewpage( "A4", "P" )

   oPdf:Pdfimage( oApp:curproga + "logoc1.jpg", cm2dpi( 2.5 ), 0, 100, 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
/*******************************************************************************/
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Re: ARCHIVOS PDF

Postby LuisPonce » Sat Jun 11, 2016 12:03 am

Gracias

lo pruebo y comento
Luis Ponce
User avatar
LuisPonce
 
Posts: 195
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Re: ARCHIVOS PDF

Postby LuisPonce » Sat Jun 11, 2016 2:11 am

Willy y SurGom

me da el mismo error

"Error al procesar pagina, numero fuera de rango"

Abre el Adobe Reader, el documento en blanco y el mensaje de error

e incluir el PDF.ch, me da errores en los FONTS, NORMAL, BOLD.....
Luis Ponce
User avatar
LuisPonce
 
Posts: 195
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Re: ARCHIVOS PDF

Postby surGom » Sat Jun 11, 2016 7:37 pm

Luis descargate desde este enlace los archivos que utilizo para la librería tpdf, y también la librería que esta enlazada con bcc582 y harbour

https://www.4shared.com/zip/JFhHppTpce/tpdfh.html

Con esta librería funciona el ejemplo que te envié.

Luis, el otro
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Re: ARCHIVOS PDF

Postby LuisPonce » Wed Jun 15, 2016 5:36 pm

Hola SurGom

Esa libreria es para xHarbour??, la bajo y te aviso

Gracias
Luis Ponce
User avatar
LuisPonce
 
Posts: 195
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Re: ARCHIVOS PDF

Postby surGom » Thu Jun 16, 2016 12:27 am

Fijate que la librería que te envío es para harbour. Compila los prg con xharbour



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

Re: ARCHIVOS PDF

Postby surGom » Thu Jun 16, 2016 12:33 am

Esta está compilada con xharbour

https://www.4shared.com/file/MzS1IZWtba/tpdf.html
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Re: ARCHIVOS PDF

Postby Enrrique Vertiz » Wed Mar 14, 2018 2:50 am

Saludos Luis

Retomo este post, logre compilar los 2 ejemplos el de la PDFLIB y el de la TLIB, pero en ambos casos cuando ejecuto me sale el siguiente mensaje :

"Error al procesar pagina, numero fuera de rango"

Necesito crear PDFs sencillos directamente desde codigo, gracias
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23.1026X, Fwh 24.09, BCC74, MySQL 8.0.X, SQLLIB 1.9m
Enrrique Vertiz
 
Posts: 541
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot], nageswaragunupudi and 52 guests