# encoding: utf-8 # # Some permissions may be set for the regular user with the following options: # :print_document, :modify_contents, # :copy_contents, :modify_annotations. All this # options default to true, so if you'd like to revoke just set them to false. # # A user may bypass all permissions if he provides the owner password which # may be set with the :owner_password option. This option may be # set to :random so that users will never be able to bypass # permissions. # # There are some caveats when encrypting your PDFs. Be sure to read the source # documentation (you can find it here: # https://github.com/prawnpdf/prawn/blob/master/lib/prawn/security.rb ) before # using this for anything super serious. # require File.expand_path(File.join(File.dirname(__FILE__), %w[.. example_helper])) # User cannot print the document. Prawn::ManualBuilder::Example.generate("cannot_print.pdf") do text "If you used the user password you won't be able to print the doc." encrypt_document(:user_password => 'foo', :owner_password => 'bar', :permissions => { :print_document => false }) end # All permissions revoked and owner password set to random Prawn::ManualBuilder::Example.generate("no_permissions.pdf") do text "You may only view this and won't be able to use the owner password." encrypt_document(:user_password => 'foo', :owner_password => :random, :permissions => { :print_document => false, :modify_contents => false, :copy_contents => false, :modify_annotations => false }) end