pdf_copy.ahk
使用autohotkey v2, chatgpt写一个ahk脚本,实现下面功能,1. 按下esc时,停止运行脚本,2. 按下ctrl+b时,复制pdf中的选中的内容,不跳出window显示操作过程提示,3. 如果粘贴板上回车换行前的第一个非空字符是‘.’, 则不做任何处理,否则把回车换行符替换成空格;
#Requires AutoHotkey v2.0
#SingleInstance Force
; ESC 键退出脚本
Esc::ExitApp
; Ctrl + B:复制并处理剪贴板内容
^b::
{
A_Clipboard := "" ; 清空剪贴板
Send("^c") ; 模拟 Ctrl+C
if !ClipWait(1) ; 最多等待1秒获取剪贴板内容
return
originalText := A_Clipboard
; 支持 \r\n 和 \n 的换行
lines := StrSplit(originalText, ["`r`n", "`n"])
output := ""
for index, line in lines {
trimmedLine := Trim(line)
if trimmedLine ~= "\.$" {
; 以 '.' 结尾,保留换行
output .= line "`r`n"
} else {
; 不以 '.' 结尾,替换换行为空格
output .= line " "
}
}
A_Clipboard := Trim(output) ; 更新剪贴板,去除尾部多余空格或换行
}
return