OleContainer1 Salvar Arquivo PDF em Campo BLOB

29/07/2021

0

Situação, salvo o arquivo em PDF em campo BLO tipo binary.

O input no campo fiz da seguinte forma:
OleContainer1.CreateObjectFromFile(OpenDialog1.FileName,false); //Arquivo em PDF.

A necessidade real é pegar o arquivo em PDF direto do campo e imprimir sem intervenção do usuário.
(Estou enroscado aqui).

Fui pelo caminho de salvar do campo blob para diretório físico e mandar imprimir. A supressa, não consigo pegar o arquivo salvo pelo OleContrainer.

Tentei das formas abaixo. O arquivo salvo não abre no adobe.:
Abrindo o arquivo via bloco de notas O arquivo vem com caracteres japonês (oriental).

Query.FieldByName('LEIOUTE').SaveToFile('C:\tmp\L001.pdf'));
O arquivo vem com caracteres japonês (oriental) e não consigo ler.

- OleContainer1.SaveAsDocument()
- OleContainer1.SaveAsDocument()

- BlobStream := TBlobStream.Create(m.Fieldbyname('campo_blob') as TBlobField, bmRead);
FileStream := TFileStream.Create('C:\TEMP\MEU_DOC.DOC', fmCreate or fmOpenWrite);
FileStream.CopyFrom(BlobStream, 0);

- warquivo:='C:\tmp\L001.pdf';
try
BlobStream := query.CreateBlobStream(query.FieldByName('LEIOUTE'),bsmRead);
FileStream := TFileStream.Create(warquivo, fmCreate or fmOpenWrite);
FileStream.CopyFrom(BlobStream, BlobStream.Size);
finally
blobstream.free;
filestream.Free;
end;

Agradeço quem puder me ajudar.
Daniel Pozzebon

Daniel Pozzebon

Responder

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

Aceitar