Fórum Geração de PDF com Fortes Reports #367761
16/01/2009
0
estou utilizando o Delphi 7 com o Fortes Reports. Sei que o fortes possui a opção de gerar o relatório em PDF mas existe alguma forma de fazer isso sem utilizar o preview. Preciso gerar diversos arquivos a partir de uma lista então não preciso realizar o preview dos relatórios. Alguém pode me ajudar? Ah! só mais uma coisa...qual o componente que uso para gerar um relatório com duas páginas?
Muito obrigado.
Zooropa
Curtir tópico
+ 0Posts
17/01/2009
Sremulador
Gostei + 0
20/01/2009
Zooropa
Amigo, agradeço a dica. O fórum está com a maioria dos links fora do ar mas eu dei uma lida na documentação existente no site e consegui tirar minhas dúvidas. Minha única dificuldade é a seguinte: o arquivo .pdf gerado pelo fortes tem 40MB enquanto que o arquivo original não chega a 1MB. Existe uma forma de enxugar este arquivo? Detalhe: o arquivo possui três imagens .jpg mas a maior delas ocupa apenas 240Kb. Agradeço pela ajuda.
Gostei + 0
23/01/2009
Zooropa
será que alguém pode me ajudar na dúvida acima? Muito obrigado.
Gostei + 0
26/01/2009
Zooropa
FrmRelatorio.RLReport1.Prepare; FrmRelatorio.RLPDFFilter1.FilterPages(FrmRelatorio.RLReport1.Pages); FrmRelatorio.RLReport1.SaveToFile(Destino);
Ainda estou precisando de ajuda neste caso...se alguém souber como devo proceder, agradeço
Gostei + 0
27/01/2009
Sremulador
Gostei + 0
23/02/2009
Steve_narancic
Gostei + 0
24/02/2009
Ivanh
FrmRelatorio.RLReport1.Prepare; FrmRelatorio.RLReport1.DefaultFilter := RLPDFFilter1; FrmRelatorio.RLReport1.SaveToFile(Destino);
Tenta isso
Gostei + 0
24/02/2009
Steve_narancic
FrmRelatorio.RLReport1.Prepare; FrmRelatorio.RLReport1.DefaultFilter := RLPDFFilter1; FrmRelatorio.RLReport1.SaveToFile(Destino);
este código não seria para salvar o relatorio sem dar o preview?
Gostei + 0
24/02/2009
Ivanh
FrmRelatorio.RLReport1.Prepare; FrmRelatorio.RLReport1.DefaultFilter := RLPDFFilter1; FrmRelatorio.RLReport1.SaveToFile(Destino);
este código não seria para salvar o relatorio sem dar o preview?[/quote:204c30c171]
[b:204c30c171]Exatamente[/b:204c30c171], naum foi essa a pergunta????
Gostei + 0
25/02/2009
Sremulador
function TRLPDFFilter.WriteBitmap(aBitmap:TBitmap):integer; var begstm:integer; endstm:integer; lenat :integer; begin lenat:=AddObj; Inc(fImageCount); if fImageCount>Length(fImages) then SetLength(fImages,Length(fImages)*2+ImagesInc); fImages[fImageCount-1].ImageObjAt:=BeginObj; Result:=fImageCount; WriteLn(´/Type/XObject´); WriteLn(´/Subtype/Image´); WriteLn(´/Width ´+IntToStr(aBitmap.Width)); WriteLn(´/Height ´+IntToStr(aBitmap.Height)); WriteLn(´/ColorSpace/DeviceRGB´); WriteLn(´/BitsPerComponent 8´); WriteLn(´/Length ´+PDF_IndirectObjStr(lenat)); WriteLn(´/Filter [/ASCIIHexDecode]´); begstm:=BeginStream; WriteBitmapData(aBitmap); WriteLn(´>´); endstm:=EndStream; BeginShortObj(lenat); WriteLn(IntToStr(endstm-begstm)); EndShortObj; end;
function CreateImageObj(aObj:TRLImageObject):integer; var grp:TGraphic; bmp:TBitmap; crc:cardinal; imf:TRLImageFile; i :integer; begin crc:=CRC32(aObj.Data); i:=0; while (i<fImageFiles.Count) and (TRLImageFile(fImageFiles[i]).ImageCRC<>crc) do Inc(i); if i<fImageFiles.Count then Result:=TRLImageFile(fImageFiles[i]).ImageId else begin bmp:=nil; grp:=FromMetaGraphic(aObj.Data); try if grp is TBitmap then bmp:=TBitmap(grp) else begin bmp:=NewBitmap(grp.Width,grp.Height); bmp.Canvas.Draw(0,0,grp); end; // retorna o indice da imagem Result:=WriteBitmap(bmp); imf:=TRLImageFile.Create; imf.ImageId :=Result; imf.ImageCRC:=crc; fImageFiles.Add(imf); finally if (bmp<>nil) and (bmp<>grp) then bmp.free; grp.free; end; end; end;
se você puder dar uma contribuilçao será muito bem vinda
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)