Запустить Automator Workflow в фоновом режиме

Попытка сделать рабочий процесс Automator, который использует "Преобразовать в документ TXT" для преобразования PDF в TXT. Но во время работы окно Abbyy FineReader становится активным. Можно ли работать в беззвучном режиме или с минимизированным окном?

3 ответа

Решение

Я решил не использовать апплет FineReader. Вместо этого я мигрирую в стек: tesseract + ImageMagick + gs. Если кому-то интересно, я прилагаю свое решение ниже.

Сценарий оболочки Automator

export PATH=/usr/local/bin:$PATH

/usr/local/bin/convert -density 300 "$@" -depth 8 -strip -background white -alpha off image.tiff
/usr/local/bin/tesseract -l rus image.tiff ~/Desktop/OCR
rm image.tiff

И рабочий процесс Automator

Этот AppleScript работает для меня, используя последнюю версию Sierra. Протестировано на моей системе, оно не вывело Abbyy FineReader на первый план.

set thePDF to (choose file)

tell application "FineReader"
    set resultFile to export to txt thePDF ¬
        from file thePDF
end tell

Ваш новый текстовый файл должен появиться в том же каталоге, что и исходный PDF

Я не использую Automator, поэтому я не знаю, какой метод вы собираетесь использовать для передачи файла PDF в этот AppleScript. В целях тестирования я использовал команду "выбрать файл". Если вы используете Automator для передачи PDF-файла, который вы указали в предыдущем действии Automator, вы можете просто удалить команду "выбрать файл" из кода. В любом случае, все, что вам нужно сделать, это добавить команду "запустить AppleScript" в ваш рабочий процесс Automator.

Если вы собираетесь удалить команду "выбрать файл", вам необходимо заново определить значение для переменной the PDF


ПРИМЕЧАНИЕ FineReader на самом деле имеет обширный словарь AppleScript. Мой ответ включал минимальную версию многих других опций для экспорта в виде текста. Вот пример полной версии опций

tell application "FineReader"
    set resultFile to export to txt directParamFile ¬
        from file fromFileFile ¬
        ocr languages enum ocrLanguagesEnumLanguageListType ¬
        saving type savingTypeSaveSettingsEnum ¬
        retain layout retainLayoutTxtLayout ¬
        keep page numbers headers and footers keepPageNumbersHeadersAndFootersBoolean ¬
        keep line breaks and hyphenation keepLineBreaksAndHyphenationBoolean ¬
        insert page break character as page separator insertPageBreakCharacterAsPageSeparatorBoolean ¬
        use blank lines useBlankLinesBoolean ¬
        encoding encodingEncodingEnum
end tell

Вы можете попробовать этот яблочный скрипт в редакторе скриптов, заменив пути к вашим файлам. У меня не установлена ​​программа, поэтому я не проверял ее. Если это не сработает, возможно, это то, что вы можете использовать для достижения желаемого результата.

tell application "FineReader" activate
tell application "System Events" set visible of process "FineReader" to false
tell application "FineReader"
   export to txt "/Path/to/filename/File_to_OCR.pdf" from file "/Path/to/filename/File_to_OCR.pdf"
end tell
Другие вопросы по тегам