最近有个需求,需要在PDF文件上对敏感信息进行打码,因为文件很多,每次都是基本在同样的地方打码,所以用按键精灵写一个辅助的脚本,记录一下。
首先是获取所有文件
Dim 文件名, fso, folder, f, files
folder="*****"
文件名 = ""
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.getfolder(folder)
Set files = folder.files
For Each f In files
文件名 = 文件名 & f.name & "|"
Next
Set fso = Nothing
//遍历指定目录下所有文件名 = 文件名
所有文件 = Split(文件名, "|")
这里 所有文件是一个包含目录下所有文件的数组
然后通过RUNAPP调用PDF Editor逐个打开文件
RunApp PDF编辑器 &" "& filename
Delay 2000
PDF编辑器窗体 = Plugin.Window.Find("PXE:{D__PDFEDITOR_PDFXEDIT.EXE}",0)
//激活PDF编辑窗体
Plugin.Window.Active (PDF编辑器窗体)
通过找图,找到起始位置
//找到姓名的位置
FindPic width / 2, 0, width, height, "E:\按键精灵\按键精灵2014\screen\name.bmp", 0.9, intX, intY
然后利用相对位置,找到其他需要打码的位置,例如头像,然后按下鼠标左键,移动鼠标进行打码
//移动到头像的位置
imgX = intX + 偏移量+6*长//1215
imgY = intY+偏移量
MoveTo imgX, imgY
LeftDown 1
MoveR 1.5*长-偏移量, 4*宽+偏移量*2+8
Delay 500
LeftUp 1
其他位置依次类推。最后将结果输出到txt文件里
Dim fObj ,resF
Set fObj = CreateObject("Scripting.FileSystemObject")
resPath=folder&"\res.txt"
set resF = fObj.CreateTextFile(resPath,True)
resF.Write res
resF.Close
完整代码上传到附件了。这里位置的定位用的是像素相对位置,随着屏幕的分辨率变化会出现不同,可以修改偏移量、长、宽这几个参数。下一步看看能否在所有分辨率的屏幕下都适用。刚开始学习使用按键精灵,还不是很熟练。