【问题标题】:Remove PDF password protection, knowing the password WINDOWS去掉PDF密码保护,知道密码WINDOWS
【发布时间】:2019-10-19 04:32:45
【问题描述】:

我想做一些类似于Removing PDF password protection, knowing the password 但在 Windows 中的操作。我有一个包含多个 PDF 的文件夹,它们都具有相同的密码,我知道。我想删除密码并覆盖原始文件(别担心,我的数据是另一个文件夹的副本)。

我的想法是使用Autohotkey并创建一个脚本来打开文件,粘贴密码,点击回车,按Ctrl+P,点击打印为PDF,保存为原始文件名,关闭Edge(这是我的m 用于打开 PDF),然后转到文件夹中的下一个文件。

老实说,我对 AHK 不太熟悉,如果对代码应该是什么提供任何帮助,我将不胜感激。

谢谢!

编辑:这是我尝试过的一些代码,但似乎不起作用。

^+q::
Loop %A_WorkingDir%\*.pdf
sleep 10000
Send, PASSWORD
sleep 2000
Send,  {Enter}
Send, ^p
Click 105,694
WinClose, A
Return

【问题讨论】:

  • 尝试“打印到 PDF”
  • 是的,但我正在尝试对 2,000 个文件执行此操作。我宁愿不手动操作。

标签: loops autohotkey


【解决方案1】:

在循环文件时(使用文件循环),实际上并没有打开这些文件,而是让您可以访问其操作系统级别的属性,例如路径、名称和系统属性。您可以使用此信息打开每一个,使用Run - 类似Run , %A_LoopFileLongPath%。请注意,您可能需要将 Edge 设置为默认 PDF 查看器(如果尚未设置)。

目前,您的循环仅执行其下方的行,即 10 秒。睡觉。您有 2,000 个 PDF?在继续之前,这大约是 5.5 小时的睡眠时间。 ;) 如果要执行多行,请将其括在大括号 { } 中,如下所示:

Loop , 1000
{
    ; stuff
}

从那里,我会考虑使用WinWaitActive 以及可能的ControlSend 而不是Sleep 和可能的Send。这将使您的脚本更加健壮,并且可能需要更少的时间(假设 10 秒是上限)。如果可能的话,我也不鼓励使用点击,因为这些有时可能会出现问题(有时您必须多次发送一次点击,否则位置可能会改变)。如果没有这些建议,你绝对可以让它工作,只是可能需要更多的反复试验。

如果需要,构建一种暂停脚本的方式也是一个好主意,因为这可能需要一些时间来处理 2,000 个文件。

帮助文档非常好,并显示了正确的语法和示例。我建议为每个命令咨询它。
https://www.autohotkey.com/docs/AutoHotkey.htm

【讨论】:

    猜你喜欢
    • 2013-07-10
    • 1970-01-01
    • 2020-12-21
    • 2012-09-05
    • 2011-12-23
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多