Ir para conteúdo
  • Cadastre-se

dev botao

Converter PDF Boleto em Base64


Ver Solução Respondido por Renato Rubinho,

Recommended Posts

  • Membros Pro
Postado

Bom dia, tenho a necessidade de gravar base64 do pdf do boleto, existe alguma rotina no ACBr para fazer essa conversão ?

 

Att

Souza.

  • Consultores
Postado
12 minutos atrás, Souza disse:

Bom dia, tenho a necessidade de gravar base64 do pdf do boleto, existe alguma rotina no ACBr para fazer essa conversão ?

 

Att

Souza.

Você esta utilizando os Componente ACBrBoleto ? ACBrLibBoleto ? ou ACBrMonitor ? 

  • Consultores
  • Solution
Postado
Var
  AStream: TMemoryStream;
  Resposta: Ansistring;
begin
  AStream := TMemoryStream.Create;        
  ACBrBoleto1.GerarPDF(AStream);
    
  Resposta := StreamToBase64(AStream);

Gere o PDF em stream.

function StreamToBase64(AStream: TStream):AnsiString;
begin
  AStream.Position := 0;
  Result := EncodeBase64(ReadStrFromStream(AStream, AStream.Size));
end;

Utilize a função acima para gerar o conteúdo em base64.

Declare a unit synacode

  • Curtir 2
  • Consultores
Postado
1 hora atrás, Souza disse:

Delphi não está localizando o ReadStrFromStream, onde declaro ?

Tentou com ctrl+shift+A?

Senão, localiza nos arquivos por function ReadStrFromStream

  • Membros Pro
Postado

Boa noite Renato, deu certo, +-, agora está dando 

 

 E2010 Incompatible types: 'Pointer' and 'AnsiString'


 

function StreamToBase64(AStream: TStream):AnsiString;
begin

  AStream.Position := 0;
  Result := EncodeBase64(ReadStrFromStream(AStream, AStream.Size));

end;

  • Consultores
Postado

Revise seu código que escorregou em algum lugar. 

Nesta função que você replicou não tem nenhuma atribuição entre pointer e ansistring.

Em 05/11/2024 at 13:03, Renato Rubinho disse:
Var
  AStream: TMemoryStream;
  Resposta: Ansistring;
begin
  AStream := TMemoryStream.Create;        
  ACBrBoleto1.GerarPDF(AStream);
    
  Resposta := StreamToBase64(AStream);

Isso tem que funcionar, pois copiei da Lib e está funcional.

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.