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);
	}

}