@Test public void aes256WithUserPassword() throws IOException { setUpParameters(PdfEncryption.AES_ENC_256); parameters.setUserPassword("1234"); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted("1234"); testContext.assertCreator().forEachPdfOutput(d -> { assertTrue(d.isEncrypted()); }); }
@Test public void enablingPrint() throws IOException { setUpParameters(PdfEncryption.STANDARD_ENC_128); parameters.setOwnerPassword("test"); parameters.addPermission(PdfAccessPermission.PRINT); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.forEachPdfOutput(d -> { assertTrue(d.isEncrypted()); assertTrue(d.getCurrentAccessPermission().canPrint()); assertFalse(d.getCurrentAccessPermission().canPrintDegraded()); }); }
@Test public void enablingPrintDegraded() throws IOException { setUpParameters(PdfEncryption.STANDARD_ENC_128); parameters.setOwnerPassword("test"); parameters.addPermission(PdfAccessPermission.DEGRADATED_PRINT); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.forEachPdfOutput(d -> { assertTrue(d.isEncrypted()); assertFalse(d.getCurrentAccessPermission().canPrint()); assertTrue(d.getCurrentAccessPermission().canPrintDegraded()); }); }
@Test public void arc128WithOwner() throws IOException { setUpParameters(PdfEncryption.STANDARD_ENC_128); parameters.setOwnerPassword("test"); parameters.addPermission(PdfAccessPermission.COPY_AND_EXTRACT); parameters.addPermission(PdfAccessPermission.FILL_FORMS); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_6).forEachPdfOutput(d -> { assertTrue(d.isEncrypted()); assertTrue(d.getCurrentAccessPermission().canExtractContent()); assertTrue(d.getCurrentAccessPermission().canFillInForm()); }); }
@Test public void aes256WithOwner() throws IOException { setUpParameters(PdfEncryption.AES_ENC_256); parameters.setVersion(PdfVersion.VERSION_1_7); parameters.setOwnerPassword("Chuck"); parameters.setUserPassword("Norris"); parameters.addPermission(PdfAccessPermission.COPY_AND_EXTRACT); parameters.addPermission(PdfAccessPermission.FILL_FORMS); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted("Norris"); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_7).forEachPdfOutput(d -> { assertTrue(d.isEncrypted()); assertTrue(d.getCurrentAccessPermission().canExtractContent()); assertTrue(d.getCurrentAccessPermission().canFillInForm()); }); }
@Test public void defaultPermissions() throws IOException { setUpParameters(PdfEncryption.STANDARD_ENC_128); assertEquals(parameters.getPermissions().size(), 0); parameters.setOwnerPassword("test"); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.forEachPdfOutput(d -> { assertTrue(d.isEncrypted()); assertFalse(d.getCurrentAccessPermission().canAssembleDocument()); assertFalse(d.getCurrentAccessPermission().canExtractContent()); assertTrue(d.getCurrentAccessPermission().canExtractForAccessibility()); assertFalse(d.getCurrentAccessPermission().canFillInForm()); assertFalse(d.getCurrentAccessPermission().canModify()); assertFalse(d.getCurrentAccessPermission().canModifyAnnotations()); assertFalse(d.getCurrentAccessPermission().canPrint()); assertFalse(d.getCurrentAccessPermission().canPrintDegraded()); }); } }