・複数のPDFファイルに、開くパスワードのロックを、まとめて設定したい
・ドラッグすれば、あらかじめ設定したパスワードが、一括で反映されるようなツール
AcrobatDCなどのマクロ?を利用した、敷居の高い方法は見つけました。DCやProを持ってはいますが、難しくて手が出ません。
CubePDF Utilに類似の機能がありましたが、開くパスワードを設定するまでに、何度も画面を遷移させる必要がありました。0.4.1bです。Cube独自?のパスワード設定を施した後、一般のPDFパスワード設定画面が表示される状態です。
海外製のツールでも構いません。単機能ほどうれしいです。よろしくお願いいたします。
まず定番ですが、 pdftk をダウンロードしてインストールします。
https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
下記をメモ帳にコピーし、適当な場所(デスクトップなど)に "PDFパスワード化.vbs"
のような名前で保存します。
このファイルに PDF ファイルをドロップすれば、パスワードを付けたファイルに置き換えます。
PDF ファイルを複数選択して、一括ドロップしてもかまいません。
パスワードは先頭の Passwors = に設定してください。現在は "12345" です。
元のファイルを残したい場合は、OverWrite = False に変更してください。
test.pdf は残り、パスワード付きの test.pw.pdf が作成されます。
Option Explicit Const Password = "12345" Const OverWrite = True Public fso Public wsh Set fso = CreateObject("Scripting.FileSystemObject") Set wsh = CreateObject("WScript.Shell") If WScript.Arguments.Count = 0 Then MsgBox "ここにPDFファイルをドロップしてください" WScript.Quit End If Dim i Dim pdfFile For i=0 To WScript.Arguments.Count - 1 pdfFile = WScript.Arguments.Item(i) If fso.FileExists( pdfFile ) = True Then If UCase( fso.GetExtensionName( pdfFile ) ) = "PDF" Then AddPassWord( pdfFile ) Else MsgBox "PDFファイルではありません[" & pdfFile & "]" End If Else MsgBox "ファイルがありません[" & pdfFile & "]" End If Next Sub AddPassWord( pdfFile ) Dim outPdfFile outPdfFile = Replace( pdfFile, ".", ".pw." ) If fso.FileExists( outPdfFile ) = True Then fso.DeleteFile outPdfFile End If wsh.Run "pdftk.exe """ & pdfFile & """ output """ & outPdfFile & """ user_pw """ & Password & """", 0, True If fso.FileExists( pdfFile ) = False Then MsgBox pdfFile & "はパスワードがつけられませんでした。" Exit Sub End If If OverWrite = True Then fso.DeleteFile pdfFile fso.MoveFile outPdfFile, pdfFile End If End Sub
コメント(1件)