Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Salvar Quickreport para JPG


Eder

Question

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 to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.6k
×
×
  • Create New...