¿La forma más fácil de obtener la ruta del archivo abierto actualmente en Adobe Acrobat?

0

Al ver un archivo en Adobe Acrobat Pro XI en OSX Yosemite, a veces deseo enviar el archivo a otra aplicación. Para crear una acción en KeyboardMaestro , necesito obtener la ruta del archivo abierto de Acrobat. ¿Cómo puedo obtener el camino?

Una forma de enviar el valor al portapapeles sería suficiente; obtener un valor que pueda manipular en AppleScript sería aún mejor.

    
pregunta mhucka 02.05.2016 - 04:24

5 respuestas

1

Este script funcionará con cualquier aplicación que tenga un "documento uno" abierto. Agregué una demora al código que debería darle tiempo suficiente para presentar su solicitud con el documento uno al frente.

También puede modificar el código para apuntar a Adobe Acrobat en lugar de la mayoría de las aplicaciones

delay 10 -- Gives You Time To Activate Whichever Application You Want This Code To Work For
tell application (path to frontmost application as text) to set the clipboard to (get path of document 1)

Antes de darme cuenta de que se te ocurrió tu propia solución, se me ocurrió otra solución que funciona.

tell application "Adobe Acrobat Pro" to set the clipboard to the POSIX path of (get file alias of active doc)

Esto me funciona con la última versión de Sierra y Acrobat Pro 10.1.1.33

    
respondido por el wch1zpink 09.10.2017 - 03:21
1

Aquí hay un AppleScript que pegué junto con la ayuda de algunas otras respuestas y la referencia de AppleScript. Esto coloca la URL del primer documento de Acrobat en el portapapeles, por ejemplo: file://localhost/Users/Your%20Username/Documents/Some%20Folder/Filename.pdf

 tell application "System Events"
        tell process "Acrobat"
            set thefile to value of attribute "AXDocument" of window 1
        end tell
    end tell
 set the clipboard to thefile
    
respondido por el Dictionarics Anonymous 03.05.2016 - 01:04
1

Usando en parte el enfoque de esta respuesta , eventualmente desarrollé el siguiente fragmento de código. Tenga en cuenta que esto utiliza la ID del paquete de la aplicación en lugar del nombre de la aplicación, para que funcione en más versiones de Acrobat Pro.

tell application "System Events"
    tell application id "com.adobe.Acrobat.Pro"
        set thefile to the file alias of the active doc
    end tell
end tell
set the clipboard to the POSIX path of thefile

Probado con Acrobat Pro (versión 11) y Acrobat Pro DC (versión 17).

    
respondido por el mhucka 09.10.2017 - 17:41
0

En Acrobat, al igual que en muchas aplicaciones, puede arrastrar y soltar el icono del documento desde la barra de título de la ventana a otras aplicaciones , que entrega la ruta del archivo (mantenga presionado el botón del mouse más tiempo antes de arrastrar). Por ejemplo, si coloca el icono en el escritorio, el Finder crea un icono de alias. Si lo suelta en un documento TextEdit, el PDF se incrusta en el documento de texto, etc.

No estoy familiarizado con KeyboardMaestro, pero creo que debería poder utilizar esta característica estándar de OS X de alguna manera.

De lo contrario, puede seguir utilizando la aplicación Automator de OS X y crear una pequeña aplicación para colocar el icono del documento (por ejemplo, en el Dock) y enviar la ruta del archivo al portapapeles. Es bastante facil Los pasos son:

  1. Abra la aplicación Automator.
  2. Elija crear un new Application .
  3. En el panel Acciones de la derecha, expanda Library y haga clic en Utilities .
  4. En la lista de Acciones, arrastre la acción Copy to Clipboard en el panel de ensamblaje de la izquierda.
  5. Presione CMD-S para guardar la nueva aplicación, por ejemplo, en la carpeta Aplicaciones.
  6. Arrastra el ícono de la aplicación al Dock.

Hecho.

    
respondido por el Dictionarics Anonymous 02.05.2016 - 18:38
0

(El modo manual) Haga clic con el botón derecho (o haga clic con el botón derecho) en el título de la ventana de Acrobat y elija la carpeta principal. Abra la Terminal y arrastre el archivo PDF a la ventana de la terminal. Copie la ruta del archivo desde la ventana del terminal.

    
respondido por el eye-wonder 03.05.2016 - 09:52

Lea otras preguntas en las etiquetas