是的,Java iText庫可以用來加密PDF文檔。iText是一個用于處理PDF文件的Java庫,它提供了豐富的功能,包括創建、編輯、加密和簽名PDF文檔。
要使用iText加密PDF文檔,你需要使用PdfWriter
類的setEncryption
方法。以下是一個簡單的示例,演示了如何使用iText 7加密PDF文檔:
import com.itextpdf.kernel.pdf.*;
import com.itextpdf.kernel.security.EncryptionConstants;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class PdfEncryptionExample {
public static void main(String[] args) {
// 創建一個PDF文檔對象
PdfDocument pdfDocument = new PdfDocument(new PdfWriter("encrypted_document.pdf"));
// 添加頁面到PDF文檔
pdfDocument.addNewPage();
// 創建一個PdfWriter實例
PdfWriter writer = new PdfWriter("encrypted_document.pdf");
// 設置加密參數
writer.setEncryption("password".getBytes(), "password".getBytes(),
EncryptionConstants.ALLOW_PRINTING | EncryptionConstants.ALLOW_COPY,
EncryptionConstants.STANDARD_ENCRYPTION_128);
// 將PDF文檔寫入文件
pdfDocument.close();
}
}
在這個示例中,我們創建了一個包含一個空白頁面的PDF文檔,并使用PdfWriter
設置了加密參數。加密參數包括用戶密碼和文檔打開密碼,以及允許的操作(如打印和復制)。最后,我們將加密后的PDF文檔寫入文件。
注意:在實際應用中,為了安全起見,建議使用更長的密碼,并確保不要將密碼硬編碼到代碼中。可以使用加密安全的密碼存儲機制,如Java的KeyStore
。