LoginSignup
8
3

編集不可のPDFを生成する

Posted at
目的

Laravelで生成したPDFを編集不可にしたい。

現状のPDF生成

LaravelでPDFを生成する時にSnappyを利用しております。
PDFを生成すると編集可能状態のPDFが出来上がります。
こちらにもあるようにwkhtmltopdfではパスワード付きのPDFなどは作成できません。
生成されたPDFのセキュリティ情報
通常.png

qpdfを使ってみる

qpdfを利用すればパスワード保護などのPDFが生成できるようなので試してみます。
インストールは割愛、各自の環境に合わせインストールして下さい。

ドキュメントを見ると encrypt オプションでパスワード付き編集不可のPDFにできそうです。

--encrypt user-password owner-password key-length [options] --

--encrypt で始まり -- までが encrypt オプションのようです。
コマンドを試してみます。

$ qpdf --encrypt "" "hogehoge" 256 --modify=none -- --replace-input /tmp/test.pdf

再度、PDFのセキュリティ情報を確認してみると以下のようになりました。
3a7f67b9-87d1-4262-8419-0f782de0b7ef.png

無事、文章変更不可のPDFが生成できました。
Laravelで生成したPDFにqpdfコマンドを実行してあげれば編集不可のPDFが出来上がります。

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3