代码之家  ›  专栏  ›  技术社区  ›  S. A.

在后台运行Automator工作流

  •  1
  • S. A.  · 技术社区  · 6 年前

    正在尝试使Automator工作流使用“转换为TXT文档”进行pdf到TXT的转换。但在运行时,Abbyy FineReader窗口变为活动状态。是否可以在静默模式或最小化窗口下运行?

    3 回复  |  直到 6 年前
        1
  •  1
  •   wch1zpink    6 年前

    这个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。出于测试目的,我使用了–choose file–命令。如果您使用Automator传递在之前的Automator操作中指定的PDF文件,您可以从代码中删除–choose file–命令。无论如何,您所需要做的就是在自动机工作流中添加一个–run AppleScript–命令。

    如果要删除choose file命令,则需要重新定义变量thePDF的值

    enter image description here


    注意事项 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
    
        2
  •  0
  •   S. A.    6 年前

    我决定不使用FineReader小程序。相反,我迁移到堆栈:tesseract+ImageMagick+gs。 如果有人感兴趣,我将我的解决方案附在下面。

    自动机shell脚本

    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 workflow

        3
  •  -2
  •   Matts    6 年前

    您可以在脚本编辑器中尝试此applescript,替换文件的文件路径。我没有安装程序,所以我没有测试它。如果它不起作用,也许你可以在它的基础上取得你想要的结果。

    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