Como converter em base64 String Delphi

 Converter bitmap para base64


1. Páginas online
a) Converter PDF para base64 (página que faz a conversão)

b) Converter base64 para PDF (página que faz a conversão)

2. Delphi
Converter o PDF para base64 Utilizado no projeto faturação Filosoft.

c) Converter de TmemoryStream para base64

function Base64TextFromStream(InStream: TMemoryStream): string;
var
Input: TBytesStream;
Output: TStringStream;
Encoding: TBase64Encoding;
begin
Input := TBytesStream.Create;
try
InStream.SaveToStream(Input);
Input.Position := 0;
Output := TStringStream.Create('', TEncoding.ASCII);
try
Encoding := TBase64Encoding.Create(0);
try
Encoding.Encode(Input, Output);
Result := Output.DataString;
finally
Encoding.Free;
end;
finally
Output.Free;
end;
finally
Input.Free;
end;
end;
//---
Observação: O Stream pode dar o savetofile para salvar um ficheiro físico.

b) Converter do ficheiro físico para base64

Uses IdCoderMIME; //pertence a biblioteca Indy10

function TOperacaoWsForm.PdfToBase64_(pdf: AnsiString): String;
var
SourceStr: TFileStream;
Encoder: TIdEncoderMIME;
begin
SourceStr := TFileStream.Create(pdf, fmOpenRead);
try
Encoder := TIdEncoderMIME.Create(nil);
try
Result := Encoder.Encode(SourceStr);
finally
Encoder.Free;
end;
finally
SourceStr.Free;
end;
end;

b) Converter a String base64 para PDF
s:=TMemoryStream.Create;
bb:=decodebase64(tuaStringJSON);
if Length(bb)>0 then
begin
s.WriteData(bb,Length(bb));
s.position:=0;
png:=TPngImage.Create;
png.LoadFromStream(s);
button.Glyph.Assign(png);
png.Destroy;
end;
s.free;

Comentários

Postagens mais visitadas deste blog

Testes unitários com Delphi - DUnit