Jump to content


Photo

Poner un boton para exportar a PDF en la preview de LazReport

PDF LazReport

  • Please log in to reply
2 replies to this topic

#1 arriolar

arriolar

    Newbie

  • Miembros
  • Pip
  • 3 posts

Posted 20 May 2022 - 04:14 PM

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:
 


delphi
  1. procedure TfrPreviewForm.PDFBtnClick(Sender: TObject);
  2. var
  3.   i: Integer;
  4.   AExt: string;
  5. begin
  6.   SaveDialog.Filter:='PDF file (*.pdf)|*.pdf';
  7.   SaveDialog.DefaultExt:='*.pdf';
  8.   if SaveDialog.Execute then
  9.    begin
  10.        AExt := ExtractFileExt(SaveDialog.FileName);
  11.   for i:=0 to ExportFilters.Count - 1 do
  12.     if SameText(AExt, ExtractFileExt(ExportFilters[i].FilterExt)) then
  13.       begin
  14.         ExportToWithFilterIndex(i, SaveDialog.FileName);
  15.  
  16.         break;
  17.       end; 
  18.  
  19.    end;
  20. 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

  • 2

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14460 posts
  • LocationMéxico

Posted 20 May 2022 - 06:27 PM

Excelente aporte,   (y)

 

 

Saludos


  • 0

#3 arriolar

arriolar

    Newbie

  • Miembros
  • Pip
  • 3 posts

Posted 21 May 2022 - 03:10 PM

Aqui subo los ficheros mencionados para los apuradillos  ;)

Attached Files


  • 1





Also tagged with one or more of these keywords: PDF, LazReport

IP.Board spam blocked by CleanTalk.