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

Exportar somente a pagina selecionada!


Douglas Soares

Pergunta

Boa tarde, uso o QuickReport 5.02 e Delphi7, gostaria de saber como gerar relatórios PDF, DOC e HTM, somente a pagina selecionada, e não todas as paginas que vejo!, segue o código que vem na ajuda do QuickReport, que serve para gerar tudo e manualmente!

uses QRPDFFilt;
var
   aPDF : TQRPDFDocumentFilter;
begin
      aPDF := TQRPDFDocumentFilter.Create('report.pdf');
      aPDF.FontHandling := fhAutoEmbed;
      repform.QuickRep1.ExportToFilter( aPDF);
      aPDF.Free;
end;
Esse código serve para os 3 formatos, basta alterar de PDF para DOC ou HTM..... Para BMP ou JPG eu já consigo gerar só a pagina selecionada, segue o código: BMP
procedure TQRStandardPreview.ExportQRBMP2 (FileName : String; FromPreview : boolean = False);
var
  i     : integer;
  MF    : TMetaFile;
  B     : TBitmap;
  Prg   : TQRProgressForm;
begin
    try
      // Vamos a guardar
      Prg := TQRProgressForm.Create (Self);
      Prg.Caption := Exportando;
      Prg.Gauge.Min := 0;
      Prg.Gauge.Max := QRPreview.QRPrinter.PageCount - 1;
      Prg.Gauge.Position := 0;
      Prg.Gauge.Update;
      Prg.Info.Caption := Pagina1De + IntToStr(QRPreview.QRPrinter.PageCount);
      Prg.Info.Update;
      Prg.Show;

        Prg.Info.Caption := Pagina + IntToStr(QRPreview.PageNumber);
        Prg.Info.Update;
        B := TBitmap.Create;
        B.PixelFormat := pf24bit;
        MF := QRPreview.QRPrinter.GetPage(QRPreview.PageNumber);
        B.Width := MF.Width;
        B.Height := MF.Height;
        B.Canvas.Draw(0,0,MF);
        B.PixelFormat := FPixelFormat;
        B.SaveToFile(FileName + '.BMP');
        B.Free;
        Prg.Gauge.StepIt;

      Prg.Free;
    except
      MessageDlg (Error, mtError, [mbOK], 0);
      Exit;
    end;
end;
Para usar:
ExportQRBMP2(caminho + arquivo, True);
E abaixo JPG
procedure TQRStandardPreview.ExportQRJPG2 (FileName : String; FromPreview : boolean = False);
var
  i     : integer;
  MF    : TMetaFile;
  B     : TBitmap;
  J     : TJPEGImage;
  Prg   : TQRProgressForm;
begin
    try
      // Vamos a guardar
      Prg := TQRProgressForm.Create (Self);
      Prg.Caption := Exportando;
      Prg.Gauge.Min := 0;
      Prg.Gauge.Max := QRPreview.QRPrinter.PageCount - 1;
      Prg.Gauge.Position := 0;
      Prg.Gauge.Update;
      Prg.Info.Caption := Pagina1De + IntToStr(QRPreview.QRPrinter.PageCount);
      Prg.Info.Update;
      Prg.Show;

        Prg.Info.Caption := Pagina + IntToStr(QRPreview.PageNumber);
        Prg.Info.Update;
        B := TBitmap.Create;
        J := TJPEGImage.Create;
        B.PixelFormat := pf24bit;
        MF := QRPreview.QRPrinter.GetPage(QRPreview.PageNumber);
        B.Width := MF.Width;
        B.Height:= MF.Height;
        B.Canvas.Draw(0, 0, MF);
        B.PixelFormat := FPixelFormat;
        J.Assign(B);
        J.SaveToFile(FileName + '.JPG');
        B.Free;
        J.Free;
        Prg.Gauge.StepIt;

      Prg.Free;
    except
      MessageDlg (Error, mtError, [mbOK], 0);
      Exit;
    end;
end;
Para usar:
ExportQRJPG2(caminho + arquivo, True);

Espero que alguém possa me ajudar....

Obrigado pessoal!

Editado por Douglas_Soares
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Douglas voce tem 2 opções:

criar um preview personalizado onde voce pode colocar um botão para imprimir a pagina selecionada

ou

alterar o preview do quickreport e deixar sempre habilitado o botão de impressão

já via alguma coisa nesse sentido no forum

http://scriptbrasil.com.br/forum/index.php...ighlite=preview

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Não achei... você não teria o código para eu salvar a pagina atual em PDF pelo menos? como você percebeu, adicionei um botão no quickrep para salvar a pagina atual em JPG e em BMP.... até ai foi facil, só falta os outros formatos :angry:

Abraços

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
      651,9k
×
×
  • Criar Novo...