@Test public void extractRanges() throws IOException { setUpParametersPageRangesPages(); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_6).assertPages(3); }
@Test public void testVersionPrefixAndCreatorAreApplied() throws IOException { setUpParametersWithVersionPrefixAndCompressionSpecified(); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertPages(4).assertVersion(PdfVersion.VERSION_1_6); }
@Test public void extractOptimized() throws IOException { setUpParametersToOptimize(); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_6).assertPages(1); }
@Test public void extractOddPages() throws IOException { setUpParametersOddPages(); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_6).assertPages(2); }
@Test public void extractEvenPagesFromEncrypted() throws IOException { setUpParametersEvenPagesEncrypted(); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_6).assertPages(2); }
@Test public void extractRangesMedium() throws IOException { setUpParametersPageRangesMediumFile(); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_7).assertPages(19); }
@Test public void extractWithOutline() throws IOException { setUpParametersWithOutline(); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_6).assertPages(3).forEachPdfOutput(d -> { assertTrue(nonNull(d.getDocumentCatalog().getDocumentOutline())); }); }
@Test public void outlineIsStripped() throws IOException { setUpParametersWithOutline(); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_6).assertOutputSize(1).assertHasOutline(false); }
@Test public void formIsStripped() throws IOException { setUpParametersWithForms(); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_6).assertOutputSize(1).assertHasAcroforms(false); }
@Test public void extractWithDiscardOutline() throws IOException { setUpParametersWithOutline(); parameters.discardOutline(true); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_6).assertPages(3).forEachPdfOutput(d -> { assertTrue(isNull(d.getDocumentCatalog().getDocumentOutline())); }); }
@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 testRotateSpecificPages() throws IOException { setUpRotateSpecificPages(); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertPages(4).forEachPdfOutput(d -> assertEquals(90, d.getPage(2).getRotation())); }
@Test public void backPages() throws IOException { setUpParametersBackPageToEveryPage(); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_6).assertOutputSize(1) .forEachPdfOutput(d -> assertEquals(8, d.getNumberOfPages())); }
@Test public void testExecuteEncrypted() throws IOException { setUpParametersEncrypted(); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertPages(4) .forEachPdfOutput(d -> d.getPages().forEach(p -> assertEquals(180, p.getRotation()))); }
@Test public void testExecute() throws IOException { setUpDefaultParameters(); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertPages(4) .forEachPdfOutput(d -> d.getPages().forEach(p -> assertEquals(180, p.getRotation()))); }
private void doExecute() throws IOException { testContext.pdfOutputTo(parameters); execute(parameters); PDDocument document = testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_7); PDDocumentInformation info = document.getDocumentInformation(); assertEquals("test_author", info.getAuthor()); assertEquals("test_keywords", info.getKeywords()); assertEquals("test_subject", info.getSubject()); assertEquals("test_title", info.getTitle()); }
@Test public void withEncryptedInput() throws IOException { AlternateMixMultipleInputParameters parameters = new AlternateMixMultipleInputParameters(); parameters.addInput(new PdfMixInput(encryptedInput())); parameters.addInput(new PdfMixInput(stronglyEncryptedInput(), true, 3)); setUpParameters(parameters); testContext.pdfOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertPages(8).assertVersion(PdfVersion.VERSION_1_5); }
@Test public void testExecutePages() throws IOException { setUpParameters(); testContext.pdfOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertPages(1).forPdfOutput(d -> { COSBase names = d.getDocumentCatalog().getNames().getEmbeddedFiles().getCOSObject().getItem(COSName.NAMES); assertThat(names, instanceOf(COSArray.class)); assertEquals(6, ((COSArray) names).size()); assertNotNull(d.getDocumentCatalog().getCOSObject().getItem(COSName.getPDFName("Collection"))); }); }
@Test public void withStandardInput() throws IOException { AlternateMixMultipleInputParameters parameters = new AlternateMixMultipleInputParameters(); parameters.addInput(new PdfMixInput(shortInput())); parameters.addInput(new PdfMixInput(shortInput(), true, 3)); setUpParameters(parameters); testContext.pdfOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertPages(8).assertVersion(PdfVersion.VERSION_1_5); }
@Test public void testExecute() throws IOException { setUpParameters(); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_6).assertPages(4).forPdfOutput(d -> { PDTransition trans = d.getPage(0).getTransition(); assertEquals(PDTransitionStyle.Box.toString(), trans.getStyle()); assertEquals(PDTransitionMotion.O.toString(), trans.getMotion()); assertNull(d.getPage(1).getTransition()); assertNull(d.getPage(2).getTransition()); assertNull(d.getPage(3).getTransition()); }); }