Fórum gerar pdf a partir de array de bytes #475842
09/04/2014
0
estou com dificuldades para gravar um arquivo pdf a partir de um retorno de array de bytes de um arquivo JSON de um webservice, abaixo esta o codigo que estou utilizando.
procedure TfrmTesteJSon.btEnviarClick(Sender: TObject);
var
vJson: ISuperObject;
IdHTTP: TIdHTTP;
RBody: TStringStream;
fStream: TFileStream;
sFile: string;
begin
IdHTTP := TIdHTTP.Create();
RBody := TStringStream.Create(MJEnv.Text);
try
IdHTTP.Request.Accept := 'text/javascript';
IdHTTP.Request.ContentType := 'application/json';
IdHTTP.Request.ContentEncoding := 'utf-8';
if valida then
begin
StatusBar1.Panels.Items[0].Text := cbServico.Text + ' - ' + cbTipo.Text;
Screen.Cursor := crHourGlass;
vJson := SO(IdHTTP.Post('http://localhost:8089/' + cbTipo.Text + '/' + cbServico.Text, RBody));
StatusBar1.Panels.Items[0].Text := 'Pronto';
Screen.Cursor := crDefault;
fStream := TFileStream.Create('C:\TEMP\danfe.pdf', fmCreate);
try
fStream.Position := fStream.Size;
sFile := vJson['Danfe'].AsString;
fStream.Write(sFile, Length(sFile) * SizeOf(Char));
finally
FreeAndNil( fStream );
end;
end;
finally
FreeAndNil(RBody);
FreeAndNil(IdHTTP);
end;
porem quando tento abrir o pdf gerado da um erro informando que o pdf ta corrompido, alguem pode dar uma força?
Katrym Bertotti
Curtir tópico
+ 0Posts
10/04/2014
Katrym Bertotti
Gostei + 0
14/11/2016
Jones Granatyr
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)