Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-05-2007
ruedabeat2003 ruedabeat2003 is offline
Miembro
 
Registrado: mar 2007
Posts: 66
Poder: 18
ruedabeat2003 Va por buen camino
Exportando QRPs a PDFs

Hola, tengo implementadas algunas instrucciones para que al momento de visualizar un Reporte(Impresion), pueda con un boton generar mi visualizacion en un Archivo de tipo PDF. Antes debo comentar que los reportes en mi sistema son visualizados con la ayuda de un un TQRPreview en una forma auxiliar, de tal forma que uso lo siguiente:

frmVistaPreliminar := TfrmVistaPreliminar.Create(Self);
frmVistaPreliminar.Caption:='VISTA PRELIMINAR ';
qrpReporte.Prepare;
frmVistaPreliminar.QRPreview1.Zoom := 100;
qrpReporte.QRPrinter.PreviewModal;

O sea que cualquier Reporto lo visualizo utilizando lo anterior mencionado.

En mi forma auxiliar de visualizacion tengo un boton que lo que hace es Exportar el QRP al formato PDF de la siguiente manera:

procedure TfrmVistaPreliminar.spdBtnPDFClick(Sender: TObject);
var
PDFFilt:TQRPDFDocumentFilter;
begin

PDFFilt := TQRPDFDocumentFilter.Create('Archivopdf.PDF');
frmReporte.qrpReporte.ExportToFilter(PDFFilt);
PDFFilt.Free;
end;

Esto actualmente solo sirve para uno solo de los reportes, el que estoy especificando. MI pregunta es respecto a si puedo, al momento de yo ejecutar el click en el boton, saber que QRP esta activo para de esta manera no tener que poner todos los diferentes casos de cada uno de los reportes del sistema, algo asi como 50 reportes. Mi forma de Visualizacion sabe que QRP esta activo? De esa forma puedo mandar a ejecutar cualquiera que la forma auxiliar este visualizando.

Última edición por ruedabeat2003 fecha: 24-05-2007 a las 01:36:27.
Responder Con Cita
  #2  
Antiguo 23-05-2007
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.022
Poder: 22
keys Va por buen camino
Me imagino que en el formulario que has creado para mostrar los informes tendras un objeto TQrPreview, a traves de el puedes acceder a el informe que esta visualizando.

vista.QrPrinter.ExportToFilter(PDFFilt);

Vista es el objeto TQrPreview

Un Saludo. Agur
Responder Con Cita
  #3  
Antiguo 23-05-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Es un Post muy interesante, una pregunta ruedabeat2003 que componente tienes instalado para hacer que tu reporte se guarde en formato PDF ? Karla
Responder Con Cita
  #4  
Antiguo 23-05-2007
ruedabeat2003 ruedabeat2003 is offline
Miembro
 
Registrado: mar 2007
Posts: 66
Poder: 18
ruedabeat2003 Va por buen camino
Funciona a la perfecciòn.

Hola, muchas gracias KEYS funcionò a la perfecciòn, finalmente mi rutina quedo asì:

Código Delphi [-]
procedure TfrmVistaPreliminar.spdBtnPDFClick(Sender: TObject);
var
   PDFFilt:TQRPDFDocumentFilter;
   Ruta:Pchar;
   dir:String;
begin
  if nombrePDF = '' then
    begin
     Ruta := StrAlloc(100);
     GetCurrentDirectory(100,Ruta);
     dir := strPas(Ruta)+'\';
     SaveDialog1.InitialDir := dir;
     SaveDialog1.FileName   := 'NombreArchivo.PDF';
     SaveDialog1.Filter     := 'Archivos PDF |*.PDF';
     try
        if SaveDialog1.Execute then
          nombrePDF := SaveDialog1.FileName;
          if copy(nombrePDF, length(nombrePDF)-4,4) <> '.PDF' then
             nombrePDF :=  nombrePDF + '.PDF';
      except
        On e : Exception do
          begin
           if e.ClassName = 'EInOutError' then
              ShowMessage('Error en la creacion de Archivo, favor de verificar.');
          end;
      end;
    end;
    PDFFilt := TQRPDFDocumentFilter.Create(NombrePDF);
    QRPreview1.QRPrinter.ExportToFilter(PDFFilt);
    PDFFilt.Free;
end;

Solo me queda una duda, en este caso QRPrinter es del mismo tipo que un TQuickRep?, cualquier explicacion no esta de màs para mi, gracias de antemano por la ayuda.

Respecto a la pregunta de Karlaoax, el componente y los filtros son parte del QuickReport v4.0.

Saludos.

//Lo Edite para colocar etiquetas Delphi... jhonny

Última edición por jhonny fecha: 24-05-2007 a las 02:10:42.
Responder Con Cita
  #5  
Antiguo 24-05-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por ruedabeat2003
Respecto a la pregunta de Karlaoax, el componente y los filtros son parte del QuickReport v4.0.
Pero esto es sólo en la versión profesional de QReport o me equivoco?

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #6  
Antiguo 24-05-2007
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.022
Poder: 22
keys Va por buen camino
El objeto Qrprinter no es del mismo tipo que TQuickRep, el primero es una propiedad del TQuickRep, que es el que se encarga una vez de generado el informe de imprimirlo, previsualizrlo, exportarlo, etc... Mas o menos .

Un Saludo.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear PDFs desde Google? marcoszorrilla Noticias 2 18-10-2006 09:29:34
se pueden crear pdfs en delphi??? MiGuEJeReZ Varios 3 04-07-2006 18:10:55
Componente que transforme PDFs rsotolongo Varios 0 03-01-2005 19:48:42
Exportando un Qreport a WORD bustio Impresión 1 11-06-2004 15:07:07
Exportando a PDF Perenquen Impresión 2 25-09-2003 14:00:06


La franja horaria es GMT +2. Ahora son las 00:53:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi