Ver Mensaje Individual
  #4  
Antiguo 28-02-2024
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Reputación: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
He probado con este código y funciona perfectamente (te adjunto el pdf resultante):
Código Delphi [-]
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,
  System.NetEncoding;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    procedure DecodeBase64File(const inputFileName, outputFileName: string);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  DecodeBase64File('C:\Proyectos\CodigoBinarioBase64.txt', 'c:\Proyectos\archivo_decodificado.pdf');
end;

procedure TForm1.DecodeBase64File(const inputFileName, outputFileName: string);
var
  inputFileStream, outputFileStream: TFileStream;
  base64Decoder: TBase64Encoding;
begin
  try
    // Abrir el archivo de entrada en modo de solo lectura
    inputFileStream := TFileStream.Create(inputFileName, fmOpenRead);
    try
      // Crear un decodificador Base64
      base64Decoder := TBase64Encoding.Create;
      try
        // Crear un flujo de salida para el archivo decodificado
        outputFileStream := TFileStream.Create(outputFileName, fmCreate);
        try
          // Decodificar el contenido del archivo Base64 y escribirlo en el archivo de salida
          base64Decoder.Decode(inputFileStream, outputFileStream);
        finally
          outputFileStream.Free;
        end;
      finally
        base64Decoder.Free;
      end;
    finally
      inputFileStream.Free;
    end;
    ShowMessage('Decodificación completa.');
  except
    on E: Exception do
      ShowMessage('Error: ' + E.Message);
  end;
end;

end.
Imágenes Adjuntas
Tipo de Archivo: pdf archivo_decodificado.pdf (182,4 KB, 3 visitas)
Responder Con Cita