首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >on粘贴访问屏幕能捕获Mac上的纸板吗?

on粘贴访问屏幕能捕获Mac上的纸板吗?
EN

Stack Overflow用户
提问于 2015-08-25 22:26:53
回答 5查看 730关注 0票数 0

在Mac上,用户需要:cmd-选项-shift-4来将屏幕捕捉到pasteboard (剪贴板)。这个存放在哪块烤盘里?它能被pb粘贴访问吗?

命令行工具pb粘贴允许访问pasteboard。我尝试了这个命令的所有变体,但从未从屏幕截图中生成输出(但是,如果我粘贴到Preview中,则会输出屏幕截图)。

-help -Prefer {txt = rtf \ ps}

我尝试了-pboard和-Prefer值的每一个排列,但都没有成功。

预期的使用将是这样的脚本:

bash脚本:

代码语言:javascript
复制
#/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现在是这样工作的:

代码语言:javascript
复制
#!/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     
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-08-26 00:52:41

不是的。pbpaste只能从纸板中检索纯文本、EPS或RTF数据。截图不是这些类型,所以pbpaste无法访问它。

票数 1
EN

Stack Overflow用户

发布于 2016-08-01 21:36:43

@ELLIOTTCABLE :)

我接受的答案是正确的,因为命令pb粘贴。但是,我找到了我要找的东西。名为png粘贴的命令。我是通过brew安装的,以防其他人需要它。

因此,我的png剪贴板上的ocr现在是这样工作的:

代码语言:javascript
复制
#!/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     
票数 2
EN

Stack Overflow用户

发布于 2015-08-25 22:42:56

最新答案

从你的问题和评论来看,你所要做的事情的总体思路是:

  • 标记屏幕上的一个区域
  • OCR it
  • 将OCR‘’ed文本放入剪贴板

如果我们再详细一点..。您希望将屏幕区域复制到剪贴板,将其粘贴到/tmp中的文件中,运行tesseract,并将tesseract输出放入剪贴板。

现在,这是行不通的,因为pbpaste不支持图形,所以您现在的问题可能是如何在不使用pbpaste的情况下对文件进行屏幕设置。在我看来,你有两个选择。

选项1

编写一个调用screencapture的脚本,并将屏幕捕获到一个文件中,然后由OCR将其捕获。脚本看起来应该是:

代码语言:javascript
复制
#/bin/bash
screencapture -i /tmp/tmp.png
tesseract /tmp/tmp.png /tmp/tmp -l eng
pbcopy < /tmp/tmp.txt

选项2

编写一个脚本,持续监视/tmp以获取新的屏幕截图,当一个新的屏幕截图到达时,将其放入剪贴板中。要使用此方法,您可能希望使用我原来答案中的两个命令强制所有屏幕截图转到/tmp。然后,您的脚本将如下所示

代码语言:javascript
复制
#!/bin/bash
fswatch /tmp | while read file; do tesseract ...; pbcopy < ...; done

这两种方法的主要区别在于它们是如何被调用的。选项1要求您运行脚本或双击脚本来启动捕获过程。选项2要求您只需按cmd-选项-shift-4并标记屏幕,然后OCR就会自动发生。

原始答案

不确定您到底要做什么,但是您可以通过发出这两个命令在/tmp中将屏幕截图保存为PNG;

代码语言:javascript
复制
defaults write com.apple.screencapture type png
defaults write com.apple.screencapture location /tmp

在进行这些更改后,您需要重新启动GUI

代码语言:javascript
复制
killall SystemUIServer
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32215107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档