UbuntuでQPDFを使ってPDFをパスワード保護する方法

公開日:2019/07/15 更新日:2019/07/15
UbuntuでQPDFを使ってPDFをパスワード保護する方法のサムネイル

はじめに

UbuntuでPDFにパスワードを設定するには、QPDFというパッケージを使用します。この記事では、QPDFのインストール方法とパスワード設定方法をまとめます。

前提と環境

  • OS : Ubuntu18.04

QPDFについて

QPDFは、UbuntuだけでなくWindowsや他のディストーションでも使用できるPDF操作用のパッケージです。QPDFはコマンドラインツールですが、QPDFを使用することでパスワード保護を設定する以外に回転させたり、結合したりすることができます。以下がQPDFの公式リポジトリになります。

github.com

This is the QPDF package. I

また、日本語のドキュメントとしては以下が参考になりました。

texwiki.texjp.org

QPDF は PDF ファイルの内容を維持したまま構造的な変換を行うコマンドラインプログラムで,pdf-to-pdf とでも呼ぶべきものです.PDF 生成ソフト開発者や PDF の中身を覗き見たい人たち向けにも有用な機能を提供し,これらは PDF がどのようなものかを学ぶために役立ちます.

UbuntuにQPDFをインストールする

Ubuntuではapt経由でQPDFをインストールできます。

$ sudo apt update
$ sudo apt install qpdf

以上でQPDFのインストールは完了です。

QPDFを使ってPDFにパスワード保護をかける

まず1番基本的なパスワード保護のためのコマンドは以下になります。

$ qpdf --encrypt ユーザ用パスワード オーナー用パスワード 暗号化レベル(暗号化鍵長) -- 入力元.pdf 出力結果.pdf

以下に実例を載せます。

$ qpdf --encrypt userpass ownerpass 40 -- mypdf.pdf output.pdf

上記を実行すると、mypdf.pdfというPDFファイルにパスワード保護がかかった状態のoutput.pdfというPDFファイルを生成します。パスワードは、PDFファイルの作成者(オーナー)ならばownerpass、それ以外のユーザならばuserpassとなります。

実際にoutput.pdfを開こうとすると、以下のようなウィンドウが表示されパスワードを保護されていることを確認できます。

dialog-for-password.png

機能制限をかける

PDFファイル自体にパスワード保護をかける以外にも、編集、イメージやテキストの抽出、印刷、注釈といった機能に対する制限をかけることもできます。具体的には、以下のオプションを設定することで機能制限をかけることができます。

オプション名 内容
--print 印刷機能の制限可否。値としてy(yes、許可)、n(no、非許可)のどちらかを設定可。
--modify 修正機能の制限可否。値としてy(yes、許可)、n(no、非許可)のどちらかを設定可。
--extract 抽出機能の制限可否。値としてy(yes、許可)、n(no、非許可)のどちらかを設定可。
--annotate 注釈機能の制限可否。値としてy(yes、許可)、n(no、非許可)のどちらかを設定可。

もし上記全ての機能を制限したい場合は、以下のようなコマンドになります。

$ qpdf --encrypt userpass ownerpass 40 --print=n --modify=n --extract=n --annotate=n -- mypdf.pdf output.pdf

暗号化レベルを高くする

暗号化レベル(暗号化鍵長)は、40128256の3つが選べます。256が最も強力になります。256に設定したい場合は以下のようにします。

$ qpdf --encrypt userpass ownerpass 256 -- mypdf.pdf output.pdf

また、機能制限ももちろんかけることができますが、40の場合とは使用できるオプションと内容が異なります。128256の場合でもそれぞれ使用できるオプションが異なります。 詳しくは、以下の公式ドキュメントに記載されています。

qpdf.sourceforge.net

QPDF is a program that does structural, content-preserving transformations on PDF files.

まとめ

PDFにパスワード保護をかけたい時にさっと実行できるので便利です。

関連記事

開発アプリ

nanolog.app

毎日の小さな出来事をなんでも記録して、ログとして残すためのライフログアプリです。