Como abrir um PDF com CreateObject()?

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Como abrir um PDF com CreateObject()?

Mensagem por clodoaldomonteiro »

Olá.
Com o CreateObject() é possível abrir qq banco de dados, usando Drives das Fontes ODBC do Windows, setando "ConnectionString" com o "Provider" da Fonte Driver.

Pergunto aos amigos de tem como fazer o mesmo processo para abrir um PDF, assim como por exemplo, abrimos um .DOC, .XLS também, sendo que ficamos com o objeto em aberto a ponto de fazermos o que necessitar.

Desde já agradeço a ajuda.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Como abrir um PDF com CreateObject()?

Mensagem por JoséQuintas »

Não entendi.
Há duas situações diferentes (ou mais):
- abrir com o aplicativo padrão na janela dele
- abrir em janela do SEU aplicativo

no primeiro caso é ShellExecuteOpen(), igual explorer faz.
no segundo caso é por activex, pode usar "arquivo.pdf" como nome do activex, a gtwvg tem isso e outras libs gui também.

Lembro de ter visto em alguma minigui a visualização do PDF sem programa externo, não lembro mais aonde foi.

Prefiro usar ShellExecuteOpen(), vai abrir a ferramenta default da máquina e pronto, o usuário tá acostumado e não tem do que reclamar.
Lembrando que windows 10 tem isso sem precisar programa externo, apesar que já vi máquina com edge extremamente lenta pra abrir.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Como abrir um PDF com CreateObject()?

Mensagem por clodoaldomonteiro »

Bom dia, Quintas.

Seria para abrir um doc PDF em segundo plano e tentar fazer OCR ou extrair o texto dele, para que eu possa fazer um processamento desse texto.

Já tenho a rotina de conversão do texto em dados, mas tenho que abrir o PDF, marcar a área a ser coletada, dar Ctrl+C e colar o texto no meu aplicativo para ser processado.

Seria como quando abrimos um .xls com CreateObject( "Excel.Application" ) e retorna um Objeto para podermos interagir com o Excel. Não sei se existe "CreateObject( 'Adobe.Application' )" ou outro método de abrir o Adobe de um "RUN".

Imagino se eu tiver o objeto aberto sob meu comando, poderei fazer muita coisa no PDF para que meu processamento possa acontecer de acordo com o desejado.

Pegando um exemplo com ajudado do GPT:

Código: Selecionar todos

   oAdobe := CreateObject( "AcroExch.app" )
   oAdobe:Show()
   oPdf   := CreateObject("AcroExch.AVDoc")
   oPdf:open("C:\SimplesInfo\Scp21H\FGTS.pdf")
   wait
   oAdobe:close()
Mas precisa da versão paga do Adobe.

Abraços.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Como abrir um PDF com CreateObject()?

Mensagem por JoséQuintas »

Quando a Microsoft acrescentou o formato PDF ao word, ela foi obrigada a remover, por conta de direitos autorais.
Não sei se vai ter algo em Windows pra isso.
E sim, o formato é da Adobe.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Como abrir um PDF com CreateObject()?

Mensagem por clodoaldomonteiro »

Olá.
Você tem um exemplo usando essa biblioteca C em xHarbour ou Harbour?

Abreços
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Como abrir um PDF com CreateObject()?

Mensagem por JoséQuintas »

Olhando o texto é activex, e é passar mensagens usando API Windows.
activex tem em gtwvg, é colocar como sendo uma janela do aplicativo.
A partir daí é trocar mensagens com a janela.
SendMessage() mas tem que olhar manual desse componente.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder