在Mac上,用户需要:cmd-选项-shift-4来将屏幕捕捉到pasteboard (剪贴板)。这个存放在哪块烤盘里?它能被pb粘贴访问吗?
命令行工具pb粘贴允许访问pasteboard。我尝试了这个命令的所有变体,但从未从屏幕截图中生成输出(但是,如果我粘贴到Preview中,则会输出屏幕截图)。
-help -Prefer {txt = rtf \ ps}
我尝试了-pboard和-Prefer值的每一个排列,但都没有成功。
预期的使用将是这样的脚本:
bash脚本:
#/bin/bash
pbpaste > /tmp/tmp.png
tesseract /tmp/tmp.png /tmp/tmp -l eng #open source ocr tool
cat /tmp/tmp.txt #tool adds .txt编辑:
我接受的答案是正确的,因为命令pb粘贴。但是,我找到了我要找的东西。名为png粘贴的命令。我是通过brew安装的,以防其他人需要它。
因此,我的png剪贴板上的ocr现在是这样工作的:
#!/bin/bash
#https://github.com/jcsalterego/pngpaste
pngpaste /tmp/tmp.png
#open source ocr tool
tesseract /tmp/tmp.png /tmp/tmp -l eng
#tesseract adds .txt
cat /tmp/tmp.txt | pbcopy 发布于 2015-08-26 00:52:41
不是的。pbpaste只能从纸板中检索纯文本、EPS或RTF数据。截图不是这些类型,所以pbpaste无法访问它。
发布于 2016-08-01 21:36:43
@ELLIOTTCABLE :)
我接受的答案是正确的,因为命令pb粘贴。但是,我找到了我要找的东西。名为png粘贴的命令。我是通过brew安装的,以防其他人需要它。
因此,我的png剪贴板上的ocr现在是这样工作的:
#!/bin/bash
#https://github.com/jcsalterego/pngpaste
pngpaste /tmp/tmp.png
#open source ocr tool
tesseract /tmp/tmp.png /tmp/tmp -l eng
#tesseract adds .txt
cat /tmp/tmp.txt | pbcopy 发布于 2015-08-25 22:42:56
最新答案
从你的问题和评论来看,你所要做的事情的总体思路是:
如果我们再详细一点..。您希望将屏幕区域复制到剪贴板,将其粘贴到/tmp中的文件中,运行tesseract,并将tesseract输出放入剪贴板。
现在,这是行不通的,因为pbpaste不支持图形,所以您现在的问题可能是如何在不使用pbpaste的情况下对文件进行屏幕设置。在我看来,你有两个选择。
选项1
编写一个调用screencapture的脚本,并将屏幕捕获到一个文件中,然后由OCR将其捕获。脚本看起来应该是:
#/bin/bash
screencapture -i /tmp/tmp.png
tesseract /tmp/tmp.png /tmp/tmp -l eng
pbcopy < /tmp/tmp.txt选项2
编写一个脚本,持续监视/tmp以获取新的屏幕截图,当一个新的屏幕截图到达时,将其放入剪贴板中。要使用此方法,您可能希望使用我原来答案中的两个命令强制所有屏幕截图转到/tmp。然后,您的脚本将如下所示
#!/bin/bash
fswatch /tmp | while read file; do tesseract ...; pbcopy < ...; done这两种方法的主要区别在于它们是如何被调用的。选项1要求您运行脚本或双击脚本来启动捕获过程。选项2要求您只需按cmd-选项-shift-4并标记屏幕,然后OCR就会自动发生。
原始答案
不确定您到底要做什么,但是您可以通过发出这两个命令在/tmp中将屏幕截图保存为PNG;
defaults write com.apple.screencapture type png
defaults write com.apple.screencapture location /tmp在进行这些更改后,您需要重新启动GUI
killall SystemUIServerhttps://stackoverflow.com/questions/32215107
复制相似问题