Adobe 用于检查多个PDF文档的所有页面中的水印的脚本

Adobe 用于检查多个PDF文档的所有页面中的水印的脚本,adobe,acrobat,Adobe,Acrobat,我有大量的PDF文档,所有页面都在手动检查水印。是否可以通过脚本自动执行此操作。每个页面只包含一个水印。最好返回所有页面中没有水印的文件名或文档列表。pdf中的水印将存储在OCG对象中。因此,您必须询问acrobat此对象是否在pdf中,以及它是否保留水印 附加您将找到可以执行此操作的VBS/VBA代码。您可以将代码复制到记事本,然后将其另存为桌面上的“FindWatermarks.vbs”。然后在上面拖放一些pdf,脚本会告诉你pdf是否包含水印。祝你好运,莱因哈德 注:该脚本仅适用于Adob

我有大量的PDF文档,所有页面都在手动检查水印。是否可以通过脚本自动执行此操作。每个页面只包含一个水印。最好返回所有页面中没有水印的文件名或文档列表。

pdf中的水印将存储在OCG对象中。因此,您必须询问acrobat此对象是否在pdf中,以及它是否保留水印

附加您将找到可以执行此操作的VBS/VBA代码。您可以将代码复制到记事本,然后将其另存为桌面上的“FindWatermarks.vbs”。然后在上面拖放一些pdf,脚本会告诉你pdf是否包含水印。祝你好运,莱因哈德

注:该脚本仅适用于Adobe Acrobat$$$版本,而不适用于唯一的Reader

    '// test dropped files for included watermarks
set WshShell = CreateObject ("Wscript.Shell")
set fs = CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments
    '// check if files has been dropped on the script
if objArgs.Count < 1 then
        msgbox("Please drag a file on the script")
        WScript.quit
    else
        msgbox("Files Count: "& objArgs.Count &vblf &"Start with file: " & ObjArgs(0))
end if
    '//contact Acrobat
Set App = CreateObject("AcroExch.App")
App.show 'comment or take out to work in hidden mode
Set AVDoc = CreateObject("AcroExch.AVDoc")
Set AForm = CreateObject("AFormAut.App") 'from AFormAPI
    '// write needed js code into vbs variable
js  = "var found "&vblf _
    & "var ocgArray = this.getOCGs();" &vblf _
    & "if (ocgArray == null) {      " &vblf _
    & " found = 0;                  " &vblf _
    & " }else{                      " &vblf _
    & " for (var i=0; i < ocgArray.length; i++) {   " &vblf _
    & "     if (ocgArray[i].name == 'Watermark') {  " &vblf _
    & "         found= 1;           " &vblf _
    & "     }else{                  " &vblf _
    & "         found = 0;          " &vblf _
    & "     }                       " &vblf _
    & " }                           " &vblf _
    & " }"

filesWithWm = ""
filesExWm =""
    '//open files via Avdoc and check for watermarks
for i=0 to objArgs.Count - 1
    FileIn = ObjArgs(i)
    If AVDoc.Open(FileIn, "") Then
        'msgbox(FileIn)
        Set PDDoc = AVDoc.GetPDDoc()
        Set jso = PDDoc.GetJSObject
        AForm.Fields.ExecuteThisJavaScript js
        if jso.found = 1 then
            filesWithWm = filesWithWm &FileIn &vblf
        else
            filesExWm = filesExWm &FileIn &vblf
        end if

    end if
next
    '// report found files
if InStr(filesWithWm,":\")>0 then msgbox("Watermarks found:" &vblf & filesWithWm)
if InStr(filesExWm,":\")>0 then msgbox("No Watermarks found:" &vblf & filesExWm)
    '// exit application
App.CloseAllDocs
App.Exit

Set AForm = Nothing
Set JSO = Nothing
Set PDDoc = Nothing
Set AVDoc = Nothing
Set App = Nothing
”//测试删除的文件是否包含水印
设置WshShell=CreateObject(“Wscript.Shell”)
设置fs=CreateObject(“Scripting.FileSystemObject”)
Set objArgs=WScript.Arguments
“//检查脚本上是否已删除文件
如果对象计数小于1,则
msgbox(“请在脚本上拖动文件”)
WScript.quit
其他的
msgbox(“文件计数:&objArgs.Count&vblf&”以文件开头:&objArgs(0))
如果结束
“//联系Acrobat
Set App=CreateObject(“AcroExch.App”)
App.show在隐藏模式下发表评论或外出工作
设置AVDoc=CreateObject(“AcroExch.AVDoc”)
从AFormAPI设置AForm=CreateObject(“aformout.App”)”
“//将所需的js代码写入vbs变量
js=“var found”&vblf_
&“var ocgArray=this.getOCGs();”&vblf_
&“如果(ocgArray==null){”&vblf_
&“found=0;”&vblf_
&“}else{”&vblf_
&for(vari=0;i
如果您需要小的代码更改,请告诉我