簡體   English   中英

在iText中使用setEncryption方法時是否可以僅設置所有者密碼?

[英]Is it possible to set only owner password while using setEncryption method in iText?

使用PdfWriter類的設置加密方法時,是否可以將所有者密碼設置為某個值,將用戶密碼設置為null或空?

我嘗試使用類似這樣的代碼

 String OWNER = "test";
 PdfWriter.setEncryption(null,OWNER.getBytes(),
                        PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128);

我可以打開使用此代碼生成的PDF,而無需輸入任何密碼。 但是,當我嘗試將其打開以使用Adobe Acrobat進行編輯時,它將在查看模式下打開文檔,並引發錯誤“此文檔是安全文檔。不允許編輯。” 錯誤的屏幕截圖: http//dropbox.com/s/1ef551o1z0n9ug1/editerror.jpg

知道為什么必須這樣做嗎? 難道我做錯了什么?

另外,

我已經用

PdfWriter.setEncryption("test1".getBytes(),"test".getBytes(), 
                        PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128); 

鏈接: http//dropbox.com/s/8jeia7ezervrz18/Test_Success.pdf

輸入密碼“ test1”並使用密碼“ test”對其進行編輯后,便可以查看它。 我不確定在較早的情況下將USER傳遞為null時究竟出了什么問題。

我在我的項目中使用以下罐子

  • iText的 - 2.1.7.jar
  • bcmail-jdk14.jar
  • bcprov-jdk14.jar
    private static String user = "";
    private static String admin = "ADMIN";      
writer.setEncryption(admin.getBytes(), user.getBytes(),
                PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128);

通過使用上述方法,您可以設置管理員密碼。 您的類路徑設置中可能存在一些問題。 使用MavelGardle依賴關系

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM