popclip生成二维码插件
问题
目前popclip的二维码生成插件主要调用google或其它第三方二维码生成接口生成二维码,存在如下弊端
- 仅在联网情况下可以使用
- 对于生成的二维码内容会上传到第三方平台
最近经常需要生成带敏感信息的二维码图片以快速将信息从电脑传输到手机,因此第二条不可接受。为解决如上问题,自行开发了利用python脚本生成二维码的popclip插件。
插件原理
通过popclip调用python脚本实现生成二维码,主要流程
- popclip调用python脚本
- python脚本获取选择的文本,生成二维码图片并保存在插件安装目录中
- python调用程序打开生成的图片
- python休眠一分钟后删除图片(删除图片是为了清除数据,等待一分钟是为了防止程序还未启动完成图片已经删除)
插件安装
- 双击qr.popclipext进行安装
- 由于引用了python的qrcode包,因此需要安装pip install qrcode、pip install image。如果安装不成功,可以百度:python 生成二维码查看安装更多的依赖
- 插件源码以及安装后的插件程序在如下目录:/Users/edward/Library/Application Support/PopClip/Extensions/qr.popclipext,修改其中的python脚本可以实时生效
使用方法
在支持popclip的程序中选择需要生成二维码的文本,点击二给码生成action
开发过程中遇到的问题
- 之前的思路是直接调用img.show()显示文件,发现‘please wait’图标一直显示,多次跟踪后定位到img.show()会导致程序挂起,所以采用了webbrowser打开文件的方式(但是实际仍然是应用程序)
遗留问题
- 无法用Chrome浏览器打开图片。python在打开文件时程序会自动判断文件所关联的文件打开类型。如果指定Chrome打开程序则需要在脚本中通过代码指定Chrome打开文件,不具备通用性。
附:插件下载地址 https://pan.baidu.com/s/1nwCw6EX
@lovechenxue, 有品位!
谢谢!挺好使的,解决生产中的实际问题