@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 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 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 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 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())); }
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 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 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 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 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()); }); }
@Test public void threeDocsMerge() throws IOException { AlternateMixMultipleInputParameters params = new AlternateMixMultipleInputParameters(); params.addInput(new PdfMixInput(shortInput(), true, 1)); params.addInput(new PdfMixInput(stronglyEncryptedInput(), true, 3)); params.addInput(new PdfMixInput(largeOutlineInput())); setUpParameters(params); testContext.pdfOutputTo(params); execute(params); testContext.assertTaskCompleted(); testContext.assertCreator().assertPages(13).assertVersion(PdfVersion.VERSION_1_5).forPdfOutput(d -> { assertHeaderContains(d.getPage(0), "Pagina 4 di 4"); assertHeaderContains(d.getPage(5), "Pagina 3 di 4"); assertHeaderContains(d.getPage(8), "Pagina 2 di 4"); assertHeaderContains(d.getPage(10), "Pagina 1 di 4"); }); }
private void doExecute() throws IOException { execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_7).forEachPdfOutput(d -> { PDDocumentCatalog catalog = d.getDocumentCatalog(); PDViewerPreferences prefs = catalog.getViewerPreferences(); assertTrue(prefs.hideMenubar()); assertTrue(prefs.centerWindow()); assertFalse(prefs.hideToolbar()); assertEquals(DUPLEX.Simplex.toString(), prefs.getDuplex()); assertEquals(NON_FULL_SCREEN_PAGE_MODE.UseThumbs.toString(), prefs.getNonFullScreenPageMode()); assertEquals(PRINT_SCALING.AppDefault.toString(), prefs.getPrintScaling()); assertEquals(READING_DIRECTION.L2R.toString(), prefs.getReadingDirection()); assertEquals(PageLayout.ONE_COLUMN, catalog.getPageLayout()); assertEquals(PageMode.USE_THUMBS, catalog.getPageMode()); }); } }
@Test public void testExecuteDefault() throws IOException { setUpParameters(); TestUtils.setProperty(parameters, "defaultTransition", PdfPageTransition.newInstance(PdfPageTransitionStyle.SPLIT_HORIZONTAL_INWARD, 1, 5)); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_6).assertPages(4).forEachPdfOutput(d -> { PDTransition trans = d.getPage(0).getTransition(); assertEquals(PDTransitionStyle.Box.toString(), trans.getStyle()); assertEquals(PDTransitionMotion.O.toString(), trans.getMotion()); for (int i = 1; i < 4; i++) { PDTransition defTrans = d.getPage(i).getTransition(); assertEquals(PDTransitionStyle.Split.toString(), defTrans.getStyle()); assertEquals(PDTransitionMotion.I.toString(), defTrans.getMotion()); assertEquals(PDTransitionDimension.H.toString(), defTrans.getDimension()); } }); }