iText単純暗号化pdfファイル
1646 ワード
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
import com.itextpdf.text.pdf.PdfWriter;
public class EncryptPdf {
private static String USER_PASS = "591568cf138e58a04294003f4ec6c4f1";
private static String OWNER_PASS = "591568cf138e58a04294003f4ec6c4f1";
public static void doEncryptPdf(String sFilePath,String tFilePath) {
FileInputStream fis;
FileOutputStream fos;
try {
fis = new FileInputStream(new File(sFilePath));
fos = new FileOutputStream(new File(tFilePath));
PdfReader.unethicalreading = true;
PdfReader reader = new PdfReader(fis);
PdfStamper stamper = new PdfStamper(reader, fos);
stamper.setEncryption(USER_PASS.getBytes(), OWNER_PASS.getBytes(), PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128);
stamper.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String sFilePath = "F:\\GBT50361-2005 .pdf";
String tFilePath = "F:\\encrypt.pdf";
EncryptPdf.doEncryptPdf(sFilePath, tFilePath);
}
}