PDFファイルにパスワードを設定するのに、
『PDFtk』という無料のツール(フリーソフト)があります。
●パスワード付きPDFについては、
⇒ こちらの記事をご覧ください。
●無料ツール「PDFtk」については、
⇒ こちらの記事をご覧ください。
この「PDFtk」でのパスワード設定は、PDFファイルの数が少なければ、手作業でもできます。
けれども、数が多くなると、手作業では大変です。
そこで、Ubuntu Linux のシェルスクリプトで、作業自動化を試みました。
![](https://blogimg.goo.ne.jp/user_image/55/4f/ab89c625b286e47f2c899864e12d91d7.jpg)
やりたいことは、
/home/goosyun/ドキュメント/
内に保存されているすべてのPDFファイルへのパスワード設定です。
まず、事前準備として、
/home/goosyun/ドキュメント/
内に、PasswordPDFという名前のディレクトリ(フォルダ)を作成しておきます。
これが、出力先となります。
次に、テキストエディタを使って、シェルスクリプトを作成します。
コードは、次のとおりです。
#!/bin/bash
# PDFファイルに設定するパスワード
password="HOGEHOGE"
# ディレクトリ内のPDFファイルのリストを取得
pdf_files=$(find /home/goosyun/ドキュメント -type f -name "*.pdf")
# ループを使用して各PDFファイルにパスワードを設定
for file in $pdf_files; do
# ファイル名を取得
filename=$(basename "$file")
# パスワード設定済みPDFファイルの出力先を指定
output_file="/home/goosyun/ドキュメント/PasswordPDF/${filename%.pdf}_protected.pdf"
# PDFtkを使用してパスワードを設定
pdftk "$file" output "$output_file" user_pw "$password"
# 作業完了のメッセージ表示
echo "パスワードを設定しました: $output_file"
done
当然ですが、上記コードは、私の環境におけるものです(特に、「goosyun」というのは、私のユーザー名です。)。ですから、PDFファイル保存ディレクトリ名や、出力先ディレクトリ名は、各自の環境にそって記述してください。
こうしてでき上がったテキストファイルを、「AddPassword.sh」などの任意の名前で保存します。これが、シェルスクリプトです。
このスクリプトを、「端末」アプリを起動して実行してみると、すんなりと完了しました。これで、すべてのPDFファイルにパスワードが設定されています。
実行の方法はいくつかありますが、
スクリプト保存先をカレントディレクトリにしておいて、
$ bash AddPassword.sh
とするのが、簡単です。
実行後に出力先ディレクトリを開いてみると、パスワード設定済みPDFが吐き出されています。
ファイル名には、元のPDFファイル名の末尾に
「_protected.pdf」の文字が追加されています。
「あれまぁ、こりゃ便利!」
「なぁんと、簡単!」
最初はエラーが出るだろうと覚悟していたのですが、一発で実行できてしまい、自分でもびっくりです。
私も徐々に、Linuxコマンドを使えるようになってきました。
なお、上記コードは、初心者が手探りで作ったものです。お気づきの点があれば、コメントでやさしく教えていただけると幸いです。
◆ 実践Ubuntu
それでは、また次の記事で
■■■■ goosyun ■■■■