Page 1 of 1
Petición para hacer compatible EasyReport con Harupdf
Posted: Sat Apr 05, 2025 4:58 pm
by leandro
Hola buenos días para todos
Como dice el encabezado queremos hacer la petición para que se le de una mirada a la clase del Easy Report y hacer algunas mejoras, esta solicitud la hacemos por que algunos de nuestros clientes, nos han reportado que los pdfs salen en blanco, generalmente es por problemas de configuración o de instalación en sus Windows, esos pdfs se requieren aquí en Colombia para la generación de los archivos soporte de las facturas electrónicas.
Por otro lado a nosotros nos ha servido demasiado el EasyReport y lo usamos en la generación de casi todos los reportes de nuestra aplicación, entendemos que muy pocos usuarios de la comunidad lo usan, pero si todos nuestros usuarios, usan esa herramienta.
Hay varias solicitudes de ajuste, pero la primordial en este momento es que se desvincule la generación de los pdfs de los componentes del Windows y que se generen mediante harupdf o otra clase de fwh.
Hace unos meses cuando estaba de moda en la comunidad usar harupdf, incluimos la instrucción al inicio de la aplicación.
Code: Select all | Expand
//ACTIVAMOS LAS FUNCIONES DE HARUPDF
TPrinter():lUseHaruPDF := .t.
Pero de esta manera se generan los pdfs en blanco.
Gracias de antemano si nos pueden dar una manita y solucionar ese y otros problemas que tiene el EasyReport
Re: Petición para hacer compatible EasyReport con Harupdf
Posted: Sat Apr 05, 2025 6:22 pm
by Antonio Linares
Estimado Leandro,
Puedes proporcionar un pequeño ejemplo para probar aqui y que salga en blanco ?
gracias!
Re: Petición para hacer compatible EasyReport con Harupdf
Posted: Tue Apr 08, 2025 10:01 pm
by leandro
Antonio buenas tardes, gracias por responder.
Pues intentamos con el siguiente código, pero sale un error que no pudimos corregir, asumo que ha cambiado mucho el código desde la ultima vez que lo intentamos, dejo este pequeño ejemplo para ver si encontramos la solución al error.
C:\fwh64_2501\samples\leandro5.prg
Code: Select all | Expand
#include "fivewin.ch"
#include "easyrep.ch"
REQUEST FWHARU // required for using HaruPdf
function Main()
LOCAL oVRD
LOCAL nSeite := 0
LOCAL nIdx := 0
LOCAL I := 0
LOCAL nRg := 0
Local aCust := {}
USE CUSTOMER
aCust := FW_DbfToArray()
TPrinter():lUseHaruPDF := .t.
EASYREPORT oVRD NAME "erep01\states.vrd" TO "Microsoft Print to PDF" PREVIEW (.F.) FILE "erep01.pdf"
PRINTAREA 1 OF oVRD ;
ITEMIDS { 101, 102 } ;
ITEMVALUES { "Report with array", DToC( Date() ) }
PRINTAREA 2 OF oVRD;
ITEMIDS { 100 } ;
ITEMVALUES { "Anyone have a sample how i can relationate 2 arrays (masterdata/detail) and pass to fastreport?" }
PRINTAREA 7 OF oVRD
FOR I := 1 TO 20
PRINTAREA 4 OF oVRD ;
ITEMIDS { 102, 103, 104, 105 } ;
ITEMVALUES { aCust[I][2], aCust[I][3], aCust[I][4], aCust[I][5] }
nRg++
IF oVRD:nNextRow > oVRD:nPageBreak
PAGEBREAK oVRD
ENDIF
NEXT
PRINTAREA 6 OF oVRD
PRINTAREA 5 OF oVRD ITEMIDS { 100 } ITEMVALUES { "Numero de registros "+cvaltochar(nRg) }
oVRD:End()
return nil
el error
Code: Select all | Expand
Application
===========
Path and name: C:\fwh64_2501\samples\leandro5.exe (64 bits)
Size: 6,721,024 bytes
Compiler version: xHarbour 1.3.1 Intl. (SimpLex) (Build 20250219)
FiveWin version: FWH 25.01
C compiler version: LLVM/Clang C 5.0.2 (64-bit)
Windows 8 64 Bits, version: 6.2, Build 9200
Time from start: 0 hours 0 mins 0 secs
Error occurred at: 04/08/25, 16:53:27
Error description: Warning BASE/1004 Message not found: FWPDF:SETCOPIES
Stack Calls
===========
Called from: source\rtl\tobject.prg => FWPDF:ERROR( 0 )
Called from: source\rtl\tobject.prg => FWPDF:MSGNOTFOUND( 0 )
Called from: source\rtl\tobject.prg => FWPDF:SETCOPIES( 0 )
Called from: .\source\classes\esreport.prg => FW_EREPORT:NEW( 356 )
Called from: leandro5.prg => MAIN( 20 )
System
======
Hardware memory: 32510 megs
Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %
Windows total applications running: 1
1 ,
Variables in use
================
Procedure Type Value
==========================
FWPDF:ERROR
Param 1: C "Message not found"
Param 2: C "FWPDF"
Param 3: C "SETCOPIES"
Param 4: N 1004
Local 1: U
Local 2: O Class: FWPDF
Local 3: N 13
FWPDF:MSGNOTFOUND
Param 1: C "SETCOPIES"
Param 2: O Class: FWPDF
FWPDF:SETCOPIES
Param 1: N 1
FW_EREPORT:NEW
Param 1: C "erep01\states.vrd"
Param 2: L .F.
Param 3: C "Microsoft Print to PDF"
Param 4: U
Param 5: L .F.
Param 6: L .F.
Param 7: L .F.
Param 8: L .F.
Param 9: C ""
Param 10: L .F.
Param 11: N 1
Param 12: L .F.
Param 13: U
Param 14: U
Param 15: U
Param 16: C ""
Param 17: L .F.
Param 18: U
Param 19: C "erep01.pdf"
Local 1: O Class: FW_EREPORT
Local 2: U
Local 3: U
Local 4: U
Local 5: O Class: TFONT
Local 6: O Class: TFONT
Local 7: U
Local 8: A Len: 24
Local 9: A Len: 3
Local 10: A Len: 3
Local 11: U
Local 12: U
Local 13: U
Local 14: U
Local 15: N 0
MAIN
Local 1: U
Local 2: N 0
Local 3: N 0
Local 4: N 0
Local 5: N 0
Local 6: A Len: 500
Linked RDDs
===========
DBF
DBFFPT
DBFBLOB
DBFCDX
DBFNTX
DataBases in use
================
1: => CUSTOMER RddName: DBFNTX
==============================
RecNo RecCount BOF EOF
1 500 .F. .F.
Indexes in use TagName
Relations in use
Classes in use:
===============
1 ERROR
2 HASHENTRY
3 HBCLASS
4 HBOBJECT
5 TPRINTER
6 FW_EREPORT
7 TEXSTRUCT
8 TFONT
9 TWINDOW
10 TDIALOG
11 TBRUSH
12 TCONTROL
13 TSAY
14 TBUTTON
15 TREG32
16 TRECT
17 TPDF
18 FWPDF
Memory Analysis
===============
749 Static variables
Dynamic memory consume:
Actual Value: 0 bytes
Highest Value: 0 bytes
Re: Petición para hacer compatible EasyReport con Harupdf
Posted: Thu Apr 10, 2025 10:29 pm
by Antonio Linares
Leandro,
Ahi lo que se puede hacer es añadir el método SetCopies( nCopies ) a la Clase FWPDF y ver como continúa
Se puede implementar de momento como VIRTUAL
Re: Petición para hacer compatible EasyReport con Harupdf
Posted: Thu Apr 10, 2025 11:29 pm
by leandro
jejejejejeje
y nos puedes ayudar con eso... por que el tema de la modificación de las clases no se me da.
Se puede implementar de momento como VIRTUAL
Es mas, no tengo ni idea que te refieres con esto.
Si eres un poco mas especifico ayudo en lo que se pueda, desde mi conocimiento, al menos haciendo pruebas

Re: Petición para hacer compatible EasyReport con Harupdf
Posted: Fri Apr 11, 2025 3:49 am
by Antonio Linares
Implementado, te envío librerias para xHarbour 64 y Borland ?

Re: Petición para hacer compatible EasyReport con Harupdf
Posted: Fri Apr 11, 2025 4:40 pm
by leandro
Antonio gracias como siempre por la ayuda
Implementado, te envío librerias para xHarbour 64 y Borland ?
Si porfa.

Re: Petición para hacer compatible EasyReport con Harupdf
Posted: Fri Apr 11, 2025 8:43 pm
by Antonio Linares
Email enviado

Re: Petición para hacer compatible EasyReport con Harupdf
Posted: Sat Apr 12, 2025 3:34 pm
by leandro
Antonio buenos días, nuevo error
Code: Select all | Expand
Application
===========
Path and name: C:\fwh64_2501\samples\leandro5.exe (64 bits)
Size: 6,702,592 bytes
Compiler version: xHarbour 1.3.1 Intl. (SimpLex) (Build 20250219)
FiveWin version: FWH 25.01
C compiler version: LLVM/Clang C 5.0.2 (64-bit)
Windows 8 64 Bits, version: 6.2, Build 9200
Time from start: 0 hours 0 mins 0 secs
Error occurred at: 04/12/25, 10:32:53
Error description: Warning BASE/1004 Message not found: FWPDF:HDCOUT
Stack Calls
===========
Called from: source\rtl\tobject.prg => FWPDF:ERROR( 0 )
Called from: source\rtl\tobject.prg => FWPDF:MSGNOTFOUND( 0 )
Called from: source\rtl\tobject.prg => FWPDF:HDCOUT( 0 )
Called from: .\source\classes\esreport.prg => FW_EREPORT:SAY( 805 )
Called from: .\source\classes\esreport.prg => FW_EREPORT:PRINTITEM( 951 )
Called from: .\source\classes\esreport.prg => (b)FW_EREPORT:PRINTITEMLIST( 1332 )
Called from: => AEVAL( 0 )
Called from: .\source\classes\esreport.prg => FW_EREPORT:PRINTITEMLIST( 1332 )
Called from: .\source\classes\esreport.prg => FW_EREPORT:AREASTART2( 756 )
Called from: .\source\classes\esreport.prg => FW_EREPORT:AREASTART( 639 )
Called from: leandro5.prg => MAIN( 24 )
System
======
Hardware memory: 32510 megs
Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %
Windows total applications running: 1
1 ,
Variables in use
================
Procedure Type Value
==========================
FWPDF:ERROR
Param 1: C "Message not found"
Param 2: C "FWPDF"
Param 3: C "HDCOUT"
Param 4: N 1004
Local 1: U
Local 2: O Class: FWPDF
Local 3: N 13
FWPDF:MSGNOTFOUND
Param 1: C "HDCOUT"
Local 1: O Class: FWPDF
FWPDF:HDCOUT
FW_EREPORT:SAY
Param 1: N 36.8504
Param 2: N 82.2047
Param 3: C "Report with array"
Param 4: A Len: 3
Param 5: N 155.9055
Param 6: N 10485760
Param 7: N 1
Param 8: N 0
Local 1: O Class: FW_EREPORT
Local 2: U
Local 3: A Len: 3
FW_EREPORT:PRINTITEM
Param 1: N 1
Param 2: N 101
Param 3: C "Report with array"
Param 4: N 0
Local 1: L .F.
Local 2: N 0
Local 3: O Class: FW_EREPORT
Local 4: N 0
Local 5: A Len: 3
Local 6: U
Local 7: N 29
Local 8: U
Local 9: N 13
Local 10: U
Local 11: U
Local 12: U
Local 13: U
Local 14: U
Local 15: U
Local 16: U
Local 17: U
Local 18: U
Local 19: U
Local 20: C "Customer "
Local 21: U
Local 22: U
Local 23: U
Local 24: L .F.
Local 25: C "400"
Local 26: C "TEXT|Customer |101|1|1|1|3|9|55|7|8|1|2|1|0|0||0||||||||||||||0|0.20"
Local 27: O Class: FWER_ITEM
Local 28: N 10
Local 29: N 10
Local 30: L .F.
Local 31: N 1
(b)FW_EREPORT:PRINTITEMLIST
Param 1: N 101
Param 2: N 1
AEVAL
Param 1: A Len: 2
Param 2: B {|| ... }
FW_EREPORT:PRINTITEMLIST
Param 1: N 1
Param 2: A Len: 2
Param 3: A Len: 2
Local 1: U
Local 2: O Class: FW_EREPORT
FW_EREPORT:AREASTART2
Param 1: N 1
Param 2: L .T.
Param 3: A Len: 2
Param 4: A Len: 2
Param 5: L .F.
Local 1: O Class: FW_EREPORT
Local 2: N 10
Local 3: N 10
Local 4: L .F.
FW_EREPORT:AREASTART
Param 1: N 1
Param 2: U
Param 3: A Len: 2
Param 4: A Len: 2
Param 5: L .F.
Local 1: O Class: FW_EREPORT
Local 2: N 1
Local 3: N 1
Local 4: N 1
Local 5: N 0
Local 6: N 0
MAIN
Local 1: O Class: FW_EREPORT
Local 2: N 0
Local 3: N 0
Local 4: N 0
Local 5: N 0
Local 6: A Len: 500
Linked RDDs
===========
DBF
DBFFPT
DBFBLOB
DBFCDX
DBFNTX
DataBases in use
================
1: => CUSTOMER RddName: DBFNTX
==============================
RecNo RecCount BOF EOF
1 500 .F. .F.
Indexes in use TagName
Relations in use
Classes in use:
===============
1 ERROR
2 HASHENTRY
3 HBCLASS
4 HBOBJECT
5 TPRINTER
6 FW_EREPORT
7 TEXSTRUCT
8 TFONT
9 TWINDOW
10 TDIALOG
11 TBRUSH
12 TCONTROL
13 TSAY
14 TBUTTON
15 TREG32
16 TRECT
17 TPDF
18 FWPDF
19 FWER_ITEM
Memory Analysis
===============
745 Static variables
Dynamic memory consume:
Actual Value: 0 bytes
Highest Value: 0 bytes
Re: Petición para hacer compatible EasyReport con Harupdf
Posted: Sat Apr 12, 2025 4:40 pm
by Antonio Linares
Leandro,
Esto llegó a funcionar anteriormente ??
Re: Petición para hacer compatible EasyReport con Harupdf
Posted: Sat Apr 12, 2025 5:16 pm
by leandro
No, desafortunadamente nunca ha funcionado,

por eso la solicitud para que se pueda usar desde Easy Report.