私は膨大な数のPDF文書を持っており、すべてのページの透かしを手動でチェックしています。スクリプトを使用してこれを自動化することは可能ですか?各ページには1つのウォーターマークが含まれています。すべてのページに透かしを入れていないファイル名や文書のリストを返す方が良いでしょう。複数のPDF文書のすべてのページで透かしをチェックするスクリプト
-2
A
答えて
0
pdfのウォーターマークはOCGオブジェクトに格納されます。したがって、このオブジェクトがpdfに入っていて、ウォーターマークを保持しているかどうかをacrobatに尋ねる必要があります。
これを行うことができるVBS/VBAコードを添付してください。コードをメモ帳にコピーし、デスクトップに "FindWatermarks.vbs"として保存することができます。ドラッグして&をいくつかドロップして、pdfにウォーターマークが含まれているかどうかを確認します。 Reinhard
PS:このスクリプトは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
小さなコードの変更が必要な場合は教えてください。
関連する問題
- 1. PHPスクリプトから複数ページpdfを生成するには
- 2. SWIFTを使用して複数文書PDFページの1ページを表示する方法
- 3. 1つの複数ページのPDF文書に複数の図を保存するときのエラー
- 4. VBAを使用してPDF文書のページ数を取得する方法は?
- 5. 変数の文字をチェックするスクリプト
- 6. 複数のページpdfを1つのコマンドで複数のページに変換する
- 7. iTextSharpのPDF文書の注文ページを変更します。
- 8. DomPdfで複数のhtml文書からpdfを生成
- 9. android.graphics.pdfを使用して複数ページのPDFを作成する
- 10. pdftkを使用して複数のpdfページを特定のpdfページにマージ
- 11. ユーザーがpdfのすべてのページを訪問したかどうかをチェックする方法は?
- 12. pdfのページを複数のページの配列に保存する
- 13. 複数のPDFページやscrollview
- 14. ITextSharp複数ページのPDFは
- 15. 文書管理アプリケーションで文書の重複や類似した文書のチェック
- 16. PHPで2つの半ページPDF文書を結合する
- 17. 複数の文書をスペルチェックして結果を報告するスクリプト
- 18. 複数ページのPDFを複数ページのTIFFに変換するツール
- 19. PDFからテキスト(複数ページ)
- 20. 最初のWord文書ページのみをPDFに変換する
- 21. PDF PDFボックスを使用した読書 - ページ数の明確化
- 22. 複数ページ文書の現在のページのPdfWriterを取得する方法は?
- 23. pdftk分割pdf複数のページで
- 24. VBAを使用してPDF文書内のページを移動する方法
- 25. 複数ページの文書にデータを挿入するPDFBox
- 26. すべてのページのLaravel認証チェック
- 27. Pythonのmatplotlibの:複数のページでPDFに保存する
- 28. iOS - HTMLコンテンツから複数ページのPDFを作成する
- 29. bashスクリプトの変数書式チェック
- 30. リンクからPDF文書のあるページを開くには?