PLOP / PLOP DS サンプル集(クックブック)
   
 
  
                            
                            暗号化されていない PDF 文書を、ユーザー・マスターパスワードを用いて暗号化します。
                            ユーザーパスワードは、PDF 文書を開く際に使用するパスワードです。PDF 文書の閲覧を制限します。
                            マスターパスワードは、PDF の機能制限を設定できる権限パスワードです。
                                マスターパスワードを設定すると、印刷や編集を制限することができ、パスワードを入力するまでセキュリティ設定を変更できません。
                            create_document() 関数のオプションでパスワードを設定します。
                                ユーザ―パスワードを設定するには userpassword オプションを使用し、
                                マスターパスワードを設定するには masterpassword オプションを使用します。
                                また、同関数の input オプションでパスワードを付与した既存 PDF を指定(open_document() で取得した文書ハンドル)します。
                            必要な製品:PDFlib PLOP 又は PDFlib PLOP DS
                            処理の流れ
                            ①既存の PDF 文書を開く
                                
                                    open_document() 関数を使って、パスワードを付与したい既存の PDF ファイルを開きます。
                                
                            ②パスワードを付与して PDF を出力する
                                
                                    create_document() 関数で、オプションで指定したパスワードで保護した PDF を作成します。
                                
                            ③PDF 文書を閉じる
                                
                                    close_document() 関数で、PDF 文書を閉じれば、パスワードの付与は完了します。
                                
     
                            ソースコードと出力結果
                            
                            
                                 
/*
 * パスワードを用いて暗号化:
 * 暗号化されていない PDF 文書を、ユーザー・マスターパスワードを用いて暗号化します。
 *
 * 必要な製品 : PDFlib PLOP 5 又は PDFlib PLOP DS 5
 */
 import java.io.*;
 import com.pdflib.PLOPException;
 import com.pdflib.plop;
 
 public class encrypt {
     public static void main (String argv[]) {
         plop plop = null;
         
         try {
             /* 既存 PDF に関する変数を用意する */
             final String in_filename = "PLOP-datasheet.pdf";
             final String in_password = "";
             String optlist;
             
             /* 出力する新規 PDF に関する変数を用意する */
             final String out_filename = "PLOP-datasheet-encrypted.pdf";
             final String out_master = "DEMO";
             final String out_user = "demo";
             final String permissions = "";
             int doc;
             
             /* 本サンプルに必要なデータが保存されているディレクトリを指定する */
             final String searchpath = "../data";
             
             /* PLOP オブジェクトを作成する */
             plop = new plop();
             
             /* 読み込みたいファイルの入ったディレクトリを指定する */
             optlist = "searchpath={" + searchpath + "}";
             plop.set_option(optlist);
             
             /* ①既存の PDF 文書を開く */
             optlist = "password {" + in_password + "} ";
             if ((doc = plop.open_document(in_filename, optlist)) == -1) {
                 System.err.println("Error: " + plop.get_errmsg());
                 plop.delete();
                 System.exit(2);
             }
             
             /* ②パスワードを付与して PDF を出力する */
             optlist = "masterpassword {" + out_master + "} userpassword {" + 
                             out_user + "} permissions {" + permissions + "} " +"input="+ doc;   
             if (plop.create_document(out_filename, optlist) == -1) {
                 System.err.println("Error: " + plop.get_errmsg());
                 plop.delete();
                 System.exit(2);
             }
             
             /* ③PDF 文書を閉じる */
             plop.close_document(doc, "");
             
         } catch (PLOPException e) {
             System.err.println("PLOP exception occurred in encrypt sample:");
             System.err.println("[" + e.get_errnum() + "] " + e.get_apiname() + ": " + e.get_errmsg());
         } catch (Exception e) {
             System.err.println(e);
         } finally {
             /* PLOP オブジェクトを削除する */
             if (plop != null) plop.delete();
         }
     }
 }
                             
                         
                     
                    
                    (Apr 30, 2020 - Dec 27, 2024)