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