关于去空行,能否把这个代码改成quicker默认启动的?

动作开发 · 761 次浏览
HUUUUUUUUNG 创建于 2020-12-06 16:03

这段代码(?)来自知乎,已经找不到是哪位大神发布的了。

原来的代码是针对从PDF复制文字时,会发生断行的情况,用这个处理后,非常方便地就可以自动处理这一问题。这比动作库里提供的几个粘贴动作(中文粘贴/规范粘贴)要好用很多,不用每次复制都要点一下。

我用hotkey操作之后,非常好用。原来的是针对adobe acrobat DC,我改了一下,成了Foxit福昕。

请问大神们能不能将其写成quicker的动作,这样可以随着软件一起启动。

我将其贴在下面,具体可以有两个要求:

1.可以针对任何PDF文档,复制到word时,都不会发生断行。

2.随quicker一起启动

#IfWinActive ahk_exe FoxitReader.exe   ; 检测 PDF 阅读器是否活动(文件名请按需修改)
^c::                  ; 按下 Ctrl+C 组合键时
    clipboard := ""   ; 清空剪贴板(配合 ClipWait 提高脚本健壮性)
    Send ^c           ; 发送 Ctrl+C 组合键(#IfWinActive 使快捷键自动恢复为复制功能)
    ClipWait          ; 等待剪贴板不为空
    ; 英文文档可使用下面两行
    clipboard := StrReplace(clipboard, "`r`n", " ")   ; 将换行替换为空格
    clipboard := StrReplace(clipboard, "- ", "")      ; 删除行尾连字符
    ; 中文文档可使用下面两行
    ; clipboard := StrReplace(clipboard, "`r`n", "")   ; 删除换行
    ; clipboard := StrReplace(clipboard, " ", "")       ; 删除空格
return


回复 x
回复内容
CL 2020-12-06 16:09
#1

做一个组合动作,在里面循环:

- 等待剪贴板内容改变;

- 判断当前窗口信息,得到进程名;

- 判断进程名是不是指定的那个;

- 如果是,读取剪贴板文本,替换内容,再写回剪贴板;

-如果不是,不操作,进行下次循环;


再结合quicker专业版的自动启动功能就可以了。 不过AHK实现也挺好的,都是工具能达到目的就行。


并不会,HHHHHHHH,都是借别人写的代码(这种是叫做代码吧?)。感谢您的回复啊,等大神抽空写一个。

如果能quicker能整一个,那么可以很多做科研的都可以推荐使用的。阅读PDF文档,太需要此功能了。

HUUUUUUUUNG 2020-12-06 16:23
回复 x
小铅笔 2020-12-06 22:58
#2

动作:PDF文字粘贴,一次运行,后台常驻 https://getquicker.net/sharedaction?code=7041d679-ff27-47fd-df9f-08d89976d07c



感谢大神!!!!这才是真正的急人民之所急!!!!!

暂时没有发现任何使用问题,复制后能自动去除空行。建议您在CSDN和知乎的相同问题下都回复一下,这确实能帮助各种科研工作人员解决问题的东西。

如果您英文好,还建议去QUORA,REDDIT?、等论坛也宣传宣传。上次我找遍全网都没有找到相似的功能,不过还是找到了我给出的那段代码。

这个好像没有推荐功能?建议quicker去掉里面的中文粘贴和规范粘贴两个动作,使用这一个就够了。

管理员能不能将这个动作置顶???

HUUUUUUUUNG 2020-12-07 08:28
回复 HUUUUUUUUNG :

动作本身就是为了适配不同的使用场景。这个动作里面也用到了”规范粘贴“动作里面的中英文处理模块。

如果想要实现需要的功能,可以看一看Quicker的帮助文档 https://www.yuque.com/quicker/help ,按照思路(例如前面CL给出的思路),选取相应的功能模块,你会发现并没有那么难的。

小铅笔 2020-12-07 08:41

太难了。。。。

HUUUUUUUUNG 2020-12-07 09:23
回复 HUUUUUUUUNG :

这个其实就是规范粘贴实现的功能呀,如果感觉每次粘贴都要点一下麻烦,把规范粘贴设置鼠标手势/圆盘/快捷键不就好了

VernonLin 2020-12-16 09:28
回复 x
回复主贴