Page 1 of 2
EasyReport Print To PDF File Without Dialog window ?
Posted: Fri Mar 22, 2019 5:57 am
by shri_fwh
Dear All ,
How to either Print or Generate PDF File to particular folder location without EasyReport Dialog Box. What is COMMAND for that ? Please guide me.
Thanks
Shridhar
Re: EasyReport Print To PDF File Without Dialog window ?
Posted: Fri Mar 22, 2019 10:48 pm
by Otto
Hello Shridhar,
if I print PDF files I always print to a pdf-printer. So I never tried build in pdf support.
I change the buttonbar from preview to show only the necessary buttons.
I think it should be possible also with build in function. We need FWSavePreviewToPDF in vrd.prg.
I will look into this on this weekend.
Best regards
Otto
Re: EasyReport Print To PDF File Without Dialog window ?
Posted: Sat Mar 23, 2019 3:16 pm
by shri_fwh
Dear Otto ,
In my old (Clipper) application I do print Invoice directly to the printer without any preview.
So EASYREPORT command should be below :
1) Directly to the Default OR Given Name printer
EASYREPORT oVRD NAME "Inv.vrd" TO PRINTER DEFAULT | HP-PRINTER1
PRINTAREA 1 ...
oVRD:End()
2) Directly to the FILE either one of the type PDF , WORD, TEXT
EASYREPORT oVRD NAME "Inv.vrd" TO FILE "C:\APP\OUTPUT\invoice.pdf" TYPE PDF | WORD | TEXT
PRINTAREA 1 ...
oVRD:End()
Thanks
Shridhar
Re: EasyReport Print To PDF File Without Dialog window ?
Posted: Sat Mar 23, 2019 5:21 pm
by Otto
Dear Shridhar,
yes you can du that. What is not working - as fare as I know - is PDF. But you can print to a PDF printer.
I send you how to set up EASYREPORT.
Best regards
Otto
Re: EasyReport Print To PDF File Without Dialog window ?
Posted: Sat Mar 23, 2019 5:39 pm
by Otto
Dear Shridhar,
Code: Select all
cDruckerName := "HP-PRINTER1"
lPreview := .F.
EASYREPORT oVRD NAME ".\xVrd\RGA5.vrd" PREVIEW lPreview TO cDruckerName PRINTDIALOG IIF( lPreview, .F., .F. )
I found out that some printer driver make problems (WLAN ECR printers) if these are not the default printer.
Therefore I change before printing cDruckerName to default printer. I use this code.
Code: Select all
//Standarddrucker umstellen vor man das EASYREPORT object erstellt
coldprinter := StandardDruckerUmstellen( cDruckerName )
EASYREPORT ::oVRD NAME ".\xVrdSchmal\rg.vrd" PREVIEW lPreview TO cDruckerName PRINTDIALOG IIF( lPreview, .F., .F. )
//nach dem Zerstören des Easyreport objects wieder zurücksetzen
::oVRD:End()
change2default_printer( coldprinter )
local coldprinter := ""
local cDruckerName := ""
*----------------------------------------------------------
//GetDefaultPrinter() statt Fineprint
cDruckerName := GetPvProfString( "DRUCKER", "Standard" ,"FinePrint", ".\INI\WINHOTEL.INI" )
coldprinter := StandardDruckerUmstellen( cDruckerName )
change2default_printer( coldprinter )
//coldprinter := StandardDruckerUmstellen( cDruckerName )
function StandardDruckerUmstellen( cDruckerName )
local coldprinter := prnGetName() // default printer
*----------------------------------------------------------
if len( ALLTRIM( cDruckerName ) ) > 0
WriteProfString( "windows", "device", cDruckerName ) // change to new printer
SetPrintDefault( cDruckerName )
PrinterInit()
SysRefresh()
endif
return( coldprinter )
//------------------------------------------------------------------------------------------//
function change2default_printer( coldprinter )
WriteProfString( "windows", "device",coldprinter) // default printer
SetPrintDefault(coldprinter)
PrinterInit()
SysRefresh()
return nil
//------------------------------------------------------------------------------------------//
Best regards
Otto
Re: EasyReport Print To PDF File Without Dialog window ?
Posted: Mon Mar 25, 2019 4:38 am
by shri_fwh
Dear Otto ,
Thanks for this information... ! I will check with the Printer as I have HP Printer and will update on this.
But Also we need to print option to the directly PDF File with File Name.
Thanks
Shridhar
Re: EasyReport Print To PDF File Without Dialog window ?
Posted: Mon Apr 08, 2019 2:11 am
by nageswaragunupudi
Provided in the next release of FWH
Code: Select all
EASYREPORT <oRep> NAME <cRepFileName> [PREVIEW .t.] FILE <cPdfFileName>
This directly creates the pdffile with the output. If PREVIEW is set to .t., the pdffile, after creation is displayed.
Re: EasyReport Print To PDF File Without Dialog window ?
Posted: Mon Apr 08, 2019 4:25 am
by shri_fwh
Dear Sir ,
Many Thanks for this new feature.
Thanks
Shridhar
Re: EasyReport Print To PDF File Without Dialog window ?
Posted: Fri May 10, 2019 10:49 pm
by leandro
Mr Nages
good afternoon
First of all I want to thank you for all the contributions you make to the community.
On the other hand I wanted to know if the functionality to send directly to pdf without going through the preview is already available with fwh1905.
On the other hand, I need to place a QR barcode. I have seen that with the PRINT class it is already working. But I wanted to know if I can do it with EASY REPORT.
Beforehand thank you very much.
Translation by google
****************************************
Mr Nages.
buenas tardes
Primero que todo quiero darle gracias por todos los aportes que realiza a la comunidad.
Por otro lado queria saber si la funcionalidad para enviar directamente a pdf sin pasar por la previsualizacion ya está disponible con fwh1905.
Por otro lado, requiero colocar un código de barras QR. he visto que con la clase PRINT ya está trabajando. Pero quería saber si lo puedo hacer con EASY REPORT.
De antemano muchas gracias.
Re: EasyReport Print To PDF File Without Dialog window ?
Posted: Sun May 12, 2019 2:20 pm
by nageswaragunupudi
On the other hand I wanted to know if the functionality to send directly to pdf without going through the preview is already available with fwh1905.
Yes, it is working from FWH1903.
On the other hand, I need to place a QR barcode. I have seen that with the PRINT class it is already working. But I wanted to know if I can do it with EASY REPORT.
Create a bar code in the designer like any other barcode and set the barcode type to 17. You may not see qrcode in the designer but you will see in print preview and in the actual print.
Re: EasyReport Print To PDF File Without Dialog window ?
Posted: Tue May 14, 2019 2:08 pm
by leandro
Mr. Nages
Thank you very much, I will do the tests and comment.
Re: EasyReport Print To PDF File Without Dialog window ?
Posted: Tue May 14, 2019 3:09 pm
by leandro
Mr. Nages
good morning
Normally when I create a report in easy report that contains barcode I do it in the following way:
Code: Select all
*****************************************
*IMPRESION DE REPORTE
*****************************************
PROC pFactura()
local oReport,Pagina:=nLinea := 1
local vTCRCua:=0,vTCRVal:=0
local vTCan:=vTHoj:=vTSub:=vTota:=0
uFec:=dtoc(date())
uTim:=subs(time(),1,8)
EASYREPORT oVRD NAME "C:\HYMINVEN\HYMMA\REP\FACTURAC.vrd" PREVIEW (.T.) //OF oDlg2
IF oVRD:lDialogCancel = .T.
RETURN( .F. )
ENDIF
PRINTAREA 1 OF oVRD
PRINTAREA 2 OF oVRD
PRINTAREA 6 OF oVRD;
ITEMIDS {601};
ITEMVALUES { "Value Code"}
END EASYREPORT oVRD
return nil
The ER itself is responsible for creating the bar code and drawing it at the time of printing.
As you told me, I changed the type of bar code to 17 "matrix 2 of check digit", but it did not work either.
I do not know the syntax to send the value of the QR code to easy report. I imagine something like this:
Code: Select all
PRINTAREA 6 OF oVRD;
ITEMIDS {601};
ITEMVALUES { oVRD:SayBarCode( "Value Code", { 20,20,-20,-20 })}
Lo probe asi pero obviamente me dice que el metodo SayBarCode no existe.
Code: Select all
Message not found: VRD:SAYBARCODE
Could you please indicate the way to do it?
First of all, Thanks.
Re: EasyReport Print To PDF File Without Dialog window ?
Posted: Tue May 28, 2019 3:16 pm
by leandro
Good afternoon for all, looking in the forum I found some functions that our friend Cristobal Navararro published, to generate the QR codes to the hard disk. Then as images I add them to the report in ER.
Code: Select all
***************
*CREA CODIGO QR
***************
function BarCode(valor)
local nX := 18
local nY := 18
local hFont
local cCode := valor
DEFINE FONT oFontText NAME "Calibri" SIZE 0, -11
if Empty( hBrush )
hBrush := CreateSolidBrush( 0 )
hZebra := hb_Zebra_Create_Qrcode( cCode, NIL )
hb_zebra_draw( hZebra, { | x, y, w, h | nWidth := x + w, nHeight := y + h, ;
FillRect( dwpri:hDC, { y, x, y + h, x + w }, hBrush ) }, nX, nY, 11, 11 )
oFontText:Activate( dwpri:hDC )
DrawText( dwpri:hDC, cCode, { nHeight + 10 , nX - 4, nHeight + 24, nWidth + 4 }, 0 )
oFontText:DeActivate( dwpri:hDC )
endif
return nil
******************
*LO GRABA EN DISCO
******************
Function SaveCode(vNomQR)
local ruta := Pub:DIRLOCAL+Pub:CODEMP+"\REP\"
local oBmp
local hGraf
local hBmp
local hBrush1 := GdiPlusNewSolidBrush( 255, 255, 255, 255 )
local hBrush2 := GdiPlusNewSolidBrush( 255, 0, 0, 0 )
local nombreCodigo := Retorna_Caracter(vNomQR)
oBmp := GdiBmp():New()
hBmp := GdiPlusBmpFromBrush( nWidth + 18, nHeight + 18, hBrush1 )
hGraf := GdiPlusHGraFFromHBmp( hBmp )
hb_zebra_draw( hZebra, { | x, y, w, h | GdiPlusDrawRect( hGraf, , hBrush2, x, y, w, h ) }, 18, 18, 11, 11 )
oBmp:hBmp := hBmp
GdiPlusDeleteGraphics( hGraf )
GdiPlusDeleteBrush( hBrush2 )
GdiPlusDeleteBrush( hBrush1 )
oBmp:Save( ruta+nombreCodigo+".png" )
oBmp:End()
Return nil
//----------------------------------------------------------------------------//
Testing the code that Mr. Nages told me, I managed to generate a pdf file from the preview to the hard drive, also including the QR code.
Code: Select all
EASYREPORT oVRD NAME Pub:DIRLOCAL+Pub:CODEMP+"\REP\factura.vrd" PREVIEW .T. FILE rutaPDF
....
...
END EASYREPORT oVRD
The problem that I find now is that it only works well when I enter the system and perform the first preview, send the complete pdf file to the hard disk. But at the moment of generating the second preview whatever it may be, what it generates is a blank page.
I do not know if this is a bug of fw, because it also happens in the preview of the tprint class.
Can someone give me a clue to solve the problem?
translated to english in google
Re: EasyReport Print To PDF File Without Dialog window ?
Posted: Tue May 28, 2019 3:32 pm
by nageswaragunupudi
The problem that I find now is that it only works well when I enter the system and perform the first preview, send the complete pdf file to the hard disk. But at the moment of generating the second preview whatever it may be, what it generates is a blank page.
I do not know if this is a bug of fw, because it also happens in the preview of the tprint class.
We will look into this and get back to you.
Re: EasyReport Print To PDF File Without Dialog window ?
Posted: Tue May 28, 2019 4:09 pm
by nageswaragunupudi
Good afternoon for all, looking in the forum I found some functions that our friend Cristobal Navararro published, to generate the QR codes to the hard disk. Then as images I add them to the report in ER.
To generate QR code and save it to hard-disk, there is no need to write such lengthy code.
This one line code is enough
Code: Select all
FW_SaveImage( FW_BarCodeBmp( cText, "QR", nWidth, nHeight ), cBmpFile )