Saludos creo que es mi primer tema, usualmente vengo a consultar algo pero en esta ocasion deseo aportar tambien a este foro que me ha sido de gran utilidad en tantas ocasiones.
Creo que en este foro, disculpen si me equivoco, el usuario Gaston se preguntaba si era posible colocar un boton en la preview de LazReport que permitiera exportar directamente a PDF, otros usuarios le recomendaron diversas alternativas pero lo del boton me parecia genial. Hoy se me presento el caso de necesitarlo y puse manos a la obra, bueno vamos directamente al rollo.
Pascal y Lazarus son de codigo abierto por lo cual podemos entrar a saco y hacer cualquier estropicio (no olvidar respaldar).
Primero instalar PowerPdf en su ultima version, deben estar instalados Lazreport y Lazreportpdfexport.
Luego si estamos en windows vamos a C:/lazarus/components/lazreport/sources y copiamos lr_view.pas y lr_view.lfm en lugar seguro por si necesitamos hechar atras.
Luego en el menu Paquetes/ abrir paquete lpk y navegamos a C:/lazarus/components/lazreport/sources y seleccionamos lazreport.lpk lo cual nos abre una ventana con el contenido del paquete.
Doble click en lr_view.pas y nos abre la unit, pulsamos F12 y vemos el formulario, ahora es cuestion de colocar un bitbtn al lado del boton de guardar ajustar tamaño poner glyp quitar caption, puro trabajo decoracion.
Aqui el evento onclick del boton:
procedure TfrPreviewForm.PDFBtnClick(Sender: TObject); var i: Integer; AExt: string; begin SaveDialog.Filter:='PDF file (*.pdf)|*.pdf'; SaveDialog.DefaultExt:='*.pdf'; if SaveDialog.Execute then begin AExt := ExtractFileExt(SaveDialog.FileName); for i:=0 to ExportFilters.Count - 1 do if SameText(AExt, ExtractFileExt(ExportFilters[i].FilterExt)) then begin ExportToWithFilterIndex(i, SaveDialog.FileName); break; end; end; end;
luego guardar y reconstruir el ide.
Bueno espero que sea util no solo para este caso si no para comprender las ventajas del open source.
Edited by egostar, 20 May 2022 - 06:26 PM.
Se agrega etiqueta de código