/* * $Id$ * * This code is part of the 'iText Tutorial'. * You can find the complete tutorial at the following address: * http://itextdocs.lowagie.com/tutorial/ * * This code is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * itext-questions@lists.sourceforge.net */ package com.lowagie.examples.general.read; import java.io.BufferedWriter; import java.io.FileWriter; import com.lowagie.text.pdf.PdfReader; import com.lowagie.text.pdf.PdfWriter; /** * Reading an encrypted PDF file (you need the owner password to do this). */ public class ReadEncrypted { /** * Reads an encrypted PDF document. * * @param args * no arguments needed */ public static void main(String[] args) { try { BufferedWriter out = new BufferedWriter(new FileWriter( "info_encrypted.txt")); PdfReader r = new PdfReader("HelloEncrypted.pdf", "Hello" .getBytes()); out.write(r.getInfo().toString()); out.write("\r\n"); int permissions = r.getPermissions(); out.write("Printing allowed: " + ((PdfWriter.ALLOW_PRINTING & permissions) > 0) ); out.write("\r\n"); out.write("Modifying contents allowed: " + ((PdfWriter.ALLOW_MODIFY_CONTENTS & permissions) > 0) ); out.write("\r\n"); out.write("Copying allowed: " + ((PdfWriter.ALLOW_COPY & permissions) > 0) ); out.write("\r\n"); out.write("Modifying annotations allowed: " + ((PdfWriter.ALLOW_MODIFY_ANNOTATIONS & permissions) > 0) ); out.write("\r\n"); out.write("Fill in allowed: " + ((PdfWriter.ALLOW_FILL_IN & permissions) > 0) ); out.write("\r\n"); out.write("Screen Readers allowed: " + ((PdfWriter.ALLOW_SCREENREADERS & permissions) > 0) ); out.write("\r\n"); out.write("Assembly allowed: " + ((PdfWriter.ALLOW_ASSEMBLY & permissions) > 0) ); out.write("\r\n"); out.write("Degraded printing allowed: " + ((PdfWriter.ALLOW_DEGRADED_PRINTING & permissions) > 0) ); out.write("\r\n"); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } } }