Abrir PDF em TOleContainer.

Delphi

27/02/2012

Olá todos!
Preciso abrir um arquivo PDF em um OleContainer e salvar em um Blob FB.
Salvar Blob já está ok, mas preciso abrir o PDF no OleContainer.

Já fiz várias pesquisas nos Forum´s.
TWebBrowser não serve, ActiveX também não, tem que ser OleContainer.

1) Este código não funciona, trava na segunda linha.
- OpenDialog1.Execute;
- OleContainerC.CreateObjectFromFile(OpenDialog1.FileName, False);

2) Abre DialogBox, para selecionar o PDF, mas fora do OleContainer e trava no segundo arquivo PDF.
- OleContainerC.CreateObject(AcroExch.Document.7, False);
- OleContainerC.DoVerb(ovShow);

Agradeço às contribuições.
Obrigado!
Weliton Oliveira

Weliton Oliveira

Curtidas 0

Respostas

Frost

Frost

27/02/2012

Boa Tarde

Fiz um teste rapido e funcionou legal aqui ( delphi 7 ) tente da seguinte forma

Ex:

OleContainer1.AutoActivate := aaGetFocus;
OleContainer1.CreateLinkToFile(C:\Documento.pdf, True);
OleContainer1.SetFocus;
GOSTEI 0
Weliton Oliveira

Weliton Oliveira

27/02/2012

Obrigado Frost!
Uso Delphi 2007, Adobe 9.
O PDF não abre dentro do OleContainer, abre em uma janela separada.
Quando testo com o MsWord, abre dentro do OleContainer.
Desde já obrigado.

Boa Tarde
Fiz um teste rapido e funcionou legal aqui ( delphi 7 ) tente da seguinte forma
Ex:
OleContainer1.AutoActivate := aaGetFocus;
OleContainer1.CreateLinkToFile(C:\Documento.pdf, True);
OleContainer1.SetFocus;
GOSTEI 0
Frost

Frost

27/02/2012

Boa Tarde

Para abrir PDF dentro do form creio que vc terá que instalar Acrobat Control for ActiveX.
GOSTEI 0
Weliton Oliveira

Weliton Oliveira

27/02/2012

Frost, já instalei.
Consigo abrir o PDF nele, mas preciso que abra no OleContainer, para eu poder salvar do OleContainer no meu Blob Firebird.
Obrigado!

Boa Tarde

Para abrir PDF dentro do form creio que vc terá que instalar Acrobat Control for ActiveX.
GOSTEI 0
Weliton Oliveira

Weliton Oliveira

27/02/2012

Pessoal da Devmedia ou GUINTER.
Help please!!
GOSTEI 0
Lucas Oliveira

Lucas Oliveira

27/02/2012

Pessoal da Devmedia ou GUINTER.
Help please!!


Olá não sei se já tinha pensado nisso. É só uma idéia.
Porque vc não coloca um Panel do tamanho que vc quer o pdf,
cria o OleContainer em tempo de execução passando como OleContainer.Parent o Panel?

Assim ele ficará dentro do seu form. ;)
Vc pode também apenas ocultar o OleContainer já que vc ja o criou

Código:

OleContainer1.AutoActivate := aaGetFocus;
OleContainer1.CreateLinkToFile(C:\Documento.pdf, True);
OleContainer1.Parent := Panel;

Espero ter ajudado ! Abração.
GOSTEI 0
POSTAR