Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Pdf Acrobat 11 (https://www.clubdelphi.com/foros/showthread.php?t=86336)

shoulder 22-07-2014 23:40:06

Pdf Acrobat 11
 
Hola termine mi aplicacion que funciona bien en mi PC con delphi 7, acropdf y Acrobat XI, resulta que hoy cuando la llevo a la empresa cuando va al form del pdf (acrobat) me da error el programa. E
En la empresa tienen el acrobat 9, hay una forma de poner la dll del acrobat XI en el servidor en el directorio del programa?, ellos tienen windows 7 y 64 bits.
Gracias,

radenf 23-07-2014 00:05:10

Estimado shoulder:

AcroPdf ya no soporta aplicaciones de 32 bits a partir de la version de Adobe Reader 11.0.07
Yo te aconsejo no utilizar dicho componente y optar por alguna de las opciones que se sugieren en este link

Saludos

MAXIUM 23-07-2014 00:06:10

Entiendo que si y que hay que registrarla.

A mi me figuran en System32

shoulder 23-07-2014 00:14:40

Abobe XI
 
Gracias por las respuestas, el tema que yo queria tener el manejo del PDF para ocultar la toolbar, que me aconsejan instalar en mi maquina el adobe9 y usar acropdf, o desde el shelexecute abriendo dentro del form el pdf puedo tener algun control?.

shoulder 23-07-2014 14:59:04

Adobe
 
Lo solucione como me han dicho ustedes con el TBrowser y oculte la toolbar y la toolbar de navegacion gracias!!!.

Cita:

archivo := archivo+'#toolbar=0&navpanes=0&scrollbar=0' ;
WebBrowser1.Navigate('file:///'+archivo);

nlsgarcia 23-07-2014 18:21:35

shoulder,

Cita:

Empezado por shoulder
...Lo solucione...con el TWebBrowser...oculte la toolbar y la toolbar de navegación...

^\||/

Te sugiero dejar activo el Scrollbar para facilitar la lectura del archivo PDF.

Revisa este código:
Código Delphi [-]
 procedure TForm1.Button1Click(Sender: TObject);
 var
    openDialog : TOpenDialog;
 begin
    openDialog := TOpenDialog.Create(self);
    openDialog.InitialDir := GetCurrentDir;
    openDialog.Options := [ofFileMustExist];
    openDialog.Filter := 'PDF files|*.pdf';
    openDialog.FilterIndex := 1;
    if openDialog.Execute then
    begin
       WebBrowser1.Silent := True;
       WebBrowser1.Navigate('file://' + openDialog.FileName + '#toolbar=0&navpanes=0&scrollbar=1');
    end;
 end;
El código anterior en Delphi7, Delphi 2010 y Delphi XE4 sobre Windows 7 Professional x32 y x64, visualiza archivos PDF en el componente TWebBrowser, eliminando del View PDF el ToolBar, el Panel de Navegación y permitiendo el uso del ScrollBar.

Espero sea útil :)

Nelson.

shoulder 23-07-2014 18:37:54

Adobe
 
Gracias Nelson!!!, lo unico hay que tener en cuenta que en tiempo de compilacion no funciona, hay que ir directamente al exe generado.
tengo delphi 7 - Windows 7.

nlsgarcia 23-07-2014 19:04:48

shoulder,

Cita:

...hay que tener en cuenta que en tiempo de compilación no funciona, hay que ir directamente al exe generado...tengo Delphi 7...Windows 7...
:confused:

El código del Msg #6 funciona correctamente en modo Debug y en RunTime (Ejecutable) en Delphi7, Delphi 2010 y Delphi XE4 sobre Windows 7 Professional x32 y x64, en Tiempo de Compilación no da ningún tipo de error o mensaje de advertencia.

Espero sea útil :)

Nelson.

shoulder 23-07-2014 19:35:58

Adobe
 
Hola, en Debug o compilacion no me funciona, no me da error, simplemente no me trae el PDF, en Run Time funciona perfecto.

nlsgarcia 23-07-2014 19:57:50

shoulder,

Cita:

Empezado por shoulder
...en Debug o compilación no me funciona, no me da error, simplemente no me trae el PDF, en Run Time funciona perfecto...

:confused:

Pregunto:

1- ¿Que versión de Delphi 7 utilizas?.

2- ¿Que versión de Windows 7 utilizas?, ¿Es de 32 o 64 bits?.

3- ¿Estas usando el componente TWebBrowser de Delphi o otro componente?.

4- ¿Tienes la propiedad Silent del TWebBrowser en True?.

5- ¿Puedes publicar tu código?.

Espero sea útil :)

Nelson.

shoulder 23-07-2014 21:05:36

Adobe
 
Windows 7 32 bits - Delphi 7 Build 4.4.53
TWebBrowser el componente del ActiveX de Delphi

el codigo

Código Delphi [-]
archivo  := archivo+'#toolbar=0&navpanes=0&scrollbar=1' ;
WebBrowser1.Silent := True;
WebBrowser1.Navigate('file:///'+archivo);

nlsgarcia 23-07-2014 21:59:44

shoulder,

Al parecer debe haber algún tipo de problema en tu instalación de Delphi o archivos de proyecto :confused: , dado que efectivamente en Delphi 7 Enterprise Build 4.453 y Windows 7 Professional x32, el código del Msg #6 y Msg #11 funciona correctamente en Modo Debug, Runtime y no presenta ningún tipo de Error de Compilación.

Te sugiero:

1- Borrar todos los archivos de tu proyecto a excepción de los .dpr, .pas, .dfm y verificar si el comportamiento anómalo persiste.

2- Hacer un prueba aislada que solo involucre al código en cuestión y excluya otros componentes que pudieran presumiblemente provocar el comportamiento descrito.

3- Desactivar el antivirus (Poco probable en este caso en particular) y verificar si el comportamiento anómalo persiste.

4- Probar el código en cuestión en otra máquina con iguales características de Windows y Delphi.

5- En último recurso, reinstalar Delphi 7 por medio de la opción Repair.

Espero sea útil :)

Nelson.

shoulder 01-08-2014 22:55:37

Webbrowser
 
Hola hice lo que me explicaste, todo excelente , solo una tema....
tengo un form donde esta el webbrowser abro y activo
Cita:

archivo := archivo+'#toolbar=0&navpanes=0&scrollbar=1' ;
WebBrowser1.Navigate('file:///'+archivo);
hasta aqui todo bien, no me aparece el menu navegador del PDF. Pero... cierro el form (el form lo creo al momento de abrir la ventana) , abro otra vez la ventana y al pasar el mouse por encima del PDF que me aparece.. el maldito toolbar de navegacion del PDF...

Cierro el ejecutable del programa abro el webbrowser con el pdf no aparece el navegador, pero si cierro y abro el form sin salir del programa la seguna vez aparece...
Que estoy haciendo mal?.

nlsgarcia 02-08-2014 05:05:19

shoulder,

Cita:

Empezado por shoulder
...Hola hice lo que me explicastes...todo excelente... ^\||/

Pregunto : ¿Exactamente que fue lo que te funciono de lo sugerido en el Msg #12? :confused:

Cita:

Empezado por shoulder
...tengo un form donde esta el webbrowser...abro...activo...cierro el form (el form lo creo al momento de abrir la ventana), abro otra vez la ventana y al pasar el mouse por encima del PDF...me aparece...el..toolbar de navegacion del PDF...¿Que estoy haciendo mal?...

:rolleyes:

Revisa este código:
Código Delphi [-]
// Load and Show Form2
procedure TForm1.Button1Click(Sender: TObject);
begin
   Application.CreateForm(TForm2, Form2);
   Form2.Show;
end;

// Releases the Resources of Form2
 procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
 begin
    Action := caFree;
 end;
El código anterior en Delphi 7 bajo Windows 7 Professional x32, instancia y llama al formulario Form2 el cual contiene el componente TWebBrowser y libera los recursos asignados al formulario Form2 en el evento OnClose, de esta forma no se activara la barra de navegación del TWebBrowser entre distintas llamadas al formulario que lo contiene.

Nota: El formulario Form2 no debe estar en la lista de Auto-Create Forms de opciones del proyecto.

Espero sea útil :)

Nelson.

shoulder 05-08-2014 03:12:56

webbrowser
 
Hola Gracias, funciono con el repair y con la sentencia que me diste no aparece mas la toolbar. Lo unico el webbrowser lo uso para mostrar los PDF que estan en el servidor y bajo intranet es un poco lento tarda hasta casi un minuto en abrir bajo la red comun es rapido 5 segundos. No encontre forma de acelerarlo.

Gracias por todo.

shoulder 05-08-2014 21:20:28

Adobe
 
Hola Lamentablemente hoy fui a la oficina y vi que un usuario abrio el form lo cerro y a la tercera abrio otro PDF y salio la maldita barra navegadora del Acrobat...sera la version del acrobat 11 que tiene esta falla?.

nlsgarcia 06-08-2014 21:10:59

shoulder,

Cita:

Empezado por shoulder
...Lamentablemente...vi que un usuario abrió el form lo cerro y a la tercera abrió otro PDF y salio...la...barra navegadora del Acrobat...

:rolleyes:

Te comento:

1- Realize pruebas en Delphi 7, Delphi 2010, Delphi XE6 y C# 2008 (Tiene un componente WebBrowser) y con el código propuesto en el Msg #14, la barra se presenta al llamar más de una vez un mismo documento, si son diferentes la barra nunca se visualiza.

2- Probé diferentes métodos y combinaciones de Open/Close documentos PDF con el componente TWebBrowser y la barra se visualiza siempre en la segunda llamada de un documento PDF cualquiera.

3- Prueba en tu aplicación esta función:
Código Delphi [-]
 function ViewToolBarPDF(BrowserDisplayInReadMode : Boolean) : Boolean;
 begin
    try
       with TRegistry.Create do
       try
          RootKey:= HKEY_CURRENT_USER;
          if OpenKey('\Software\Adobe\Acrobat Reader\11.0\AVGeneral',False) then
          begin
             WriteInteger('bBrowserDisplayInReadMode', Integer(BrowserDisplayInReadMode));
             CloseKey;
             Result := True;
          end
          else
             Result := False;
       finally
          Free;
       end;
    except
       Result := False;
    end;
 end;
La función anterior en Delphi 7 bajo Windows 7 Professional x32, permite activar (True) y desactivar (False) la barra de herramientas de Acrobat Reader XI a nivel del Registro de Windows, dicha función esta basada en la siguiente información : Turning off Read Mode while viewing PDFs in your Browser

Nota: En mi PC la función sugerida anteriormente, no tiene ningún efecto sobre el caso descrito, sin embargo te sugiero probarla.

Pregunto: ¿Cuando indicas que se visualiza la barra de herramientas en el documento PDF, a cual barra te refieres : Barra1 o Barra2?

Barra1:


Barra2:


Espero sea útil :)

Nelson.

shoulder 07-08-2014 03:29:38

Barra1
 
Hola primero de todo gracias por tu ayuda, probe la funcion y sigue todo igual la Barra 1 aparece a veces en la tercera vez que abro el documento o segunda es aleatorio.
Estoy pensando si no es una tonteria, no me convendria abrir primero un pdf de 1K en blanco y despues el verdadero asi nunca se repiten la misma secuencia de pdf?.

Gracias.

nlsgarcia 07-08-2014 07:24:20

shoulder,

Cita:

Empezado por shoulder
...Estoy pensando si no es una tonteria...

:rolleyes:

Te comento lo que no ha funcionado para eliminar el ToolBar del documento PDF:

1- Pruebas del WebBrowser en Delphi 7, Delphi 2010, Delphi XE6 y C# 2008 bajo Windows 7 Professional x32 y Adobe Acrobat Reader XI.

2- Pruebas del WebBrowser en Delphi 7 bajo Windows XP professional x32 con Adobe Acrobat X Pro.

3- Modificar la variable de visualización del Toolbar bBrowserDisplayInReadMode a False en el registro de Windows.

4- Realizar un KillTask a los procesos AdobeARM.exe y AcroRd32.exe que estuvieran activos durante el uso del WebBrowser.

5- Hacer un Copyfile del archivo a consultar a uno temporal que sería usado y eliminado después de la consulta.

6- Uso de la API DeleteUrlCacheEntry para eliminar el PDF consultado previamente del cache del WebBrowser.

7- Crear un archivo Blank.pdf que sería llamado al finalizar la consulta del PDF.

8- Uso del método WebBrowser1.ControlInterface.ExecWB para enviar comandos al WebBrowser.

9- Uso del método WebBrowser1.Navigate2 con los flags := navNoReadFromCache or navNoWriteToCache or navNoHistory.

En resumen: sin importar el lenguaje (Delphi ó C#), la versión de Adobe Acrobat (Reader XI ó Pro X), el SO (Windows XP Professional x32 ó Windows 7 Professional x32), los métodos que se usen en el WebBrowser (Navigate, Navigate2, ControlInterface.ExecWB), el uso de archivos temporales y modificadores de consulta del PDF, el ToolBar PDF siempre se visualiza en sucesivas llamadas del documento :cool:

Pregunto: ¿Por que es tan importante que no se visualice el ToolBar PDF?, ¿Que problema(s) ocasiona que se visualize? :confused:

Las preguntas anteriores son críticas dado que aunque se usen los modificadores de consulta del PDF: #toolbar=0&navpanes=0&scrollbar=1 en la llamada del WebBrowser, la barra se puede activar con F8 luego de que se haga el primer movimiento de scroll del documento o se llame al documento más de una vez, con el agravante de que el componente WebBrowser no permite interceptar las teclas pulsadas a pesar de estar establecido KeyPreview := True.

Conclusión: Así funciona aparentemente el componente WebBrowser :rolleyes:

Espero sea útil :)

Nelson.

shoulder 07-08-2014 15:57:57

Adobe
 
Hola Nelson el problema es que una persona puede grabarse un documento, mientras tengan Acrobat 9 esta todo bien, pero si me instalan el XI aparece la barra 1, se hace una copia del documento en su PC.
Este es un tema de seguridad que falla entre Delphi y Acrobat.

Y ahi no se como solucionarlo.


La franja horaria es GMT +2. Ahora son las 21:45:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi