Ir al contenido


Foto

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

PDF LazReport

  • Por favor identifícate para responder
2 respuestas en este tema

#1 arriolar

arriolar

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 20 mayo 2022 - 04:14

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.


Editado por egostar, 20 mayo 2022 - 06:26 .
Se agrega etiqueta de código

  • 2

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.460 mensajes
  • LocationMéxico

Escrito 20 mayo 2022 - 06:27

Excelente aporte,   (y)

 

 

Saludos


  • 0

#3 arriolar

arriolar

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 21 mayo 2022 - 03:10

Aqui subo los ficheros mencionados para los apuradillos  ;)

Archivos adjuntos


  • 1





Etiquetado también con una o más de estas palabras: PDF, LazReport

IP.Board spam blocked by CleanTalk.