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.
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)