Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Salvar Quickreport para JPG


Eder

Pergunta

Ola..estou usando esta dica pra salvar quick pra JPG

SALVAR QUICKREPORT PARA JPG - BMP

1-Insira a Procedure logo acima do PRIVANTE

procedure QrpToImg(QR: Tquickrep; Path: string; Tipo: Integer);

2-Insira Caso não tenha no Uses: JPEG e QUICKRPT

3-Insira logo após do {$R *.DFM}

lembrando que abaixo o TFORM1 - quer dizer o nome do Form

procedure TFORM1.QrpToImg(QR: TQuickRep; Path: string; Tipo: Integer);

var

BMP: TBitmap;

JPG: TJPegImage;

aUnits: TQRUnit;

i: Integer;

begin

// Gera o relatório em memória.

QR.Prepare;

// Pega unidade de medida atual no QReport.

aUnits := QR.Units;

// Altera unidade de medida para Pixels.

QR.Units := Pixels;

try

for i := 1 to QR.QRPrinter.PageCount do

begin

// Cria Bitmap.

BMP := TBitMap.Create;

// Cria JPeg.

JPG := TJPegImage.Create;

try

// Define tamanho do Bitmap de acordo com o tamanho da página do QReport.

BMP.Width := Round(QR.Page.Width);

BMP.Height := Round(QR.Page.Length);

// Pegar página a página.

QR.QRPrinter.PageNumber := i;

// Atribui a página ao Bitmap.

BMP.Canvas.Draw(0, 0, QR.QRPrinter.Page);

// Transfere também para JPeg.

JPG.Assign(BMP);

// Salvar em disco.

if Tipo = 0 then

BMP.SaveToFile(Path + 'Pagina' + IntToStr(i) + '.bmp')

else if Tipo = 1 then

JPG.SaveToFile(Path + 'Pagina' + IntToStr(i) + '.jpg');

finally

// Libera objetos.

BMP.Free;

JPG.Free;

end;

end;

finally

// Volta unidade de medida.

QR.Units := aUnits;

end;

end;

4-No botão para Salvar coloque:

BEGIN

QrpToImg(FORM2.QuickRep1,'C:\',0); //Exporta o Quick para BMP

QrpToImg(FORM2.QuickRep1,'C:\',1); //Exporta o Quick para JPG

END;

O problema é que tenho um relatoria que trabalha com mtas variaveis.....e demora um pouco pra mostrar o resultado.....é um relatorio por mes sintetico.

No quickreport sai correto....

A ultima coluna é a coluna que soma todos os meses......agrupando..

esta coluna esta somando so os tres primeiros meses........quando exporto pro JPG...

No quickreport sai correto....

Só na exportação pro JPG...parece que não da tempo de somar tudo antes de salvar o arquivo JPG.....

quando é um relatorio com poucos dados funciona 100%....só este que da problema. :(

alguém teria alguma solução pra resolver o problema...

Grato

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

voce tem 2 opções, ou espera o indicativo de porcentagem do QR terminar para depois exportar o arquivo, ou cria uma rotina para testar o final da execução do QR para depois exportar o arquivo.

exemplo

procedure TQuickReport1.QuickRepAfterPrint(Sender: TObject);
begin
   QrpToImg(FORM2.QuickRep1,'C:\',0); //Exporta o Quick para BMP
   QrpToImg(FORM2.QuickRep1,'C:\',1); //Exporta o Quick para JPG
end;

OB S: É só colocar o seu codigo para exportar no evento QuickRepAfterPrint do QR.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Ola..Jonas.

O meu codigo é pra apenas exportar pro JPG sem a geração do preview no quickreport.

na verdade o que resolveu mesmo foi assim:

Form2.quickrep1.prepare;
QrpToImg(FORM2.QuickRep1,'C:\',1); //Exporta o Quick para JPG
Foi este comando que resolveu.
Form2.quickrep1.prepare;

eu montei um codigo...que ele vai gerando e salvando arquivos em jpg, tipo um filtro onde ele gera primeiro o total geral da empresa, depois por filiais uma a uma até finalizar...tudo sem ver o preview no quick na tela, apenas gerando e salvando pra jpg

Agora ta tudo certinho....

muito Grato

t+

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...