Use la ruta del archivo copiado en el terminal (desde applescript y automator)

2

Estoy tratando de crear un flujo de trabajo simple que se utilizará para ayudar a las personas no técnicas a utilizar el OCR de tesseract. No tengo problemas para usarlo, pero es probable que otros prefieran las GUI, así que estoy trabajando en el siguiente flujo de trabajo del automatizador (imagen de abajo): enlace

Script:

set appName to "Terminal"

if application appName is running then
    tell application "Terminal"
        activate
        do script "tesseract /Users/jackson/Downloads/OCRTemp.jpg /Users/jackson/Downloads/OCRTemp.txt"
    end tell

else
    tell application "Terminal"
        activate
        do script "tesseract /Users/jackson/Downloads/OCRTemp.jpg /Users/jackson/Downloads/OCRTemp.txt" in front window
    end tell
end if

El problema es que en la línea "tesseract /Users/jackson/Downloads/OCRTemp.jpg /Users/jackson/Downloads/OCRTemp.txt" me gustaría reemplazar la primera extensión de archivo con el portapapeles. Al no estar bien versado en cómo usar bash, no estoy completamente seguro de qué hacer. Creo que parte de la confusión es que estoy usando una aplicación AppleScript para ejecutar un comando de terminal, por lo que no estoy seguro de si utilizo AppleScript o Terminal para obtener la variable.

    
pregunta Talos Potential 09.07.2018 - 21:19

1 respuesta

2

No hay necesidad de Automator.

Solo use AppleScript (Cambie /opt/local/bin/tesseract a la salida de which tesseract ):

set myFile to (choose file with prompt "Choose a file to convert") # Get the file to convert
set myFilePOSIX to the POSIX path of myFile # Get terminal friendly path
set myLocation to (choose folder with prompt "Choose a location to save your file") # Get location to save the file
set myLocationPOSIX to the POSIX path of myLocation
tell application "Finder"
    display dialog "Choose a file name" default answer (name of file myFile as string) # Type the name the file
    set myName to the text returned of the result # Get what user typed
end tell
do shell script "/opt/local/bin/tesseract " & quoted form of myFilePOSIX & " " & quoted form of myLocationPOSIX & quoted form of myName # Do the terminal command
    
respondido por el JBis 09.07.2018 - 21:57

Lea otras preguntas en las etiquetas