見出し画像

パソコン悪戦苦闘記録

Ubuntu Linuxで大量のPDFのパスワード設定を自動化するシェルスクリプト

 機密情報が含まれるPDFファイルには、パスワードを設定しておくと安心です。
 PDFファイルにパスワードを設定するのに、
PDFtk』という無料のツール(フリーソフト)があります。


パスワード付きPDFについては、
 こちらの記事をご覧ください。

無料ツール「PDFtk」については、
 こちらの記事をご覧ください。


 
 この「PDFtk」でのパスワード設定は、PDFファイルの数が少なければ、手作業でもできます。
 けれども、数が多くなると、手作業では大変です。

 そこで、Ubuntu Linux のシェルスクリプトで、作業自動化を試みました。





 やりたいことは、
/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

コメント一覧

goosyun
narkejp さん
 そうですね、「一括処理の威力」を見せつけられました。
 『カッコウはコンピュータに卵を産む』の登場人物みたいに思えて、自己満足しています。

 「業務評価」の点は、確かにあり得そうです。職場にPCが導入され始めた時期(大昔)の、デジタルアレルギーの上司のことを思い出しました。
narkejp
コマンドラインでの一括処理の威力ですね。これがあるからターミナルでのコマンド処理がやめられません。
根気強く1つ1つ処理すると時間がかかりますが、ちょっとスクリプトを考えて一括処理すると、あっという間に終わります。ただ旧来の業務評価だと、前者を「粘り強く熱心」と評価し、後者は「優秀だが熱意不足」とされ、「時給×かかった時間」の結果、給料は低くなる傾向があったのですよね〜。困ったものだ。今はどうなのか、興味深いところです(^o^)/
名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「Ubuntu」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事