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
Postar um comentário