GARANTIR DESCONTO

Fórum gerar pdf a partir de array de bytes #475842

09/04/2014

0

Boa tarde

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

Katrym Bertotti

Responder

Posts

10/04/2014

Katrym Bertotti

uppp
Responder

Gostei + 0

14/11/2016

Jones Granatyr

Opa, veja se esse artigo resolve: https://vitornemoto.wordpress.com/2011/07/04/delphi-atribuir-um-arquivo-a-um-array-de-bytes/
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar