@Override public SplitByPagesParameters build() { SplitByPagesParameters params = new SplitByPagesParameters(); params.addPages(pages); params.setCompress(isCompress()); params.setExistingOutputPolicy(existingOutput()); params.setVersion(getVersion()); params.setOutput(getOutput()); params.setOutputPrefix(getPrefix()); params.addSource(getSource()); params.setOptimizationPolicy(getOptimizationPolicy()); params.discardOutline(isDiscardBookmarks()); return params; } }
@Test public void testInvalidParameters() { SplitByPagesParameters victim = new SplitByPagesParameters(); SingleOrMultipleTaskOutput output = mock(SingleOrMultipleTaskOutput.class); victim.setOutput(output); InputStream stream = mock(InputStream.class); PdfSource<InputStream> input = PdfStreamSource.newInstanceNoPassword(stream, "name"); victim.addSource(input); TestUtils.assertInvalidParameters(victim); } }
@Test public void burst() throws IOException { setUpParameters(); parameters.addSource(shortInput()); doTestBurst(); }
@Test public void evenEnc() throws IOException { setUpParameters(); parameters.addSource(encryptedInput()); doTestEven(); }
@Test public void odd() throws IOException { setUpParameters(); parameters.addSource(shortInput()); doTestOdd(); }
@Test public void burstEnc() throws IOException { setUpParameters(); parameters.addSource(stronglyEncryptedInput()); doTestBurst(); }
@Test public void oddEnc() throws IOException { setUpParameters(); parameters.addSource(encryptedInput()); doTestOdd(); }
@Test public void even() throws IOException { setUpParameters(); parameters.addSource(shortInput()); doTestEven(); }
@Test public void batchMode() throws IOException { setUpParameters(); parameters.addSource(shortInput()); parameters.addSource(mediumInput()); parameters.addPage(2); execute(parameters); testContext.assertTaskCompleted(); testContext.assertOutputSize(4); testContext.assertOutputContainsFilenames("1_short-test-file.pdf", "3_short-test-file.pdf", "1_medium-test-file.pdf", "3_medium-test-file.pdf"); } }
@Test public void burstOptimizeImages() throws IOException { setUpParameters(); parameters.addSource(customInput("pdf/shared_resource_dic_w_images.pdf")); parameters.setOptimizationPolicy(OptimizationPolicy.AUTO); parameters.addPage(1); execute(parameters); testContext.assertTaskCompleted(); testContext.assertOutputSize(2); }
@Test public void burstOptimizeFonts() throws IOException { setUpParameters(); parameters.addSource(customInput("pdf/shared_fonts.pdf")); parameters.setOptimizationPolicy(OptimizationPolicy.AUTO); parameters.addPage(1); parameters.addPage(2); execute(parameters); testContext.assertTaskCompleted(); testContext.assertOutputSize(3); }
@Test public void splitWithOutline() throws IOException { setUpParameters(); parameters.addSource(largeOutlineInput()); parameters.addPage(1); parameters.addPage(2); parameters.addPage(3); execute(parameters); testContext.assertTaskCompleted(); testContext.assertOutputSize(4).forEachPdfOutput(d -> { assertTrue(nonNull(d.getDocumentCatalog().getDocumentOutline())); }); }
@Test public void splitWithDiscardOutline() throws IOException { setUpParameters(); parameters.addSource(largeOutlineInput()); parameters.discardOutline(true); parameters.addPage(1); parameters.addPage(2); parameters.addPage(3); execute(parameters); testContext.assertTaskCompleted(); testContext.assertOutputSize(4).forEachPdfOutput(d -> { assertTrue(isNull(d.getDocumentCatalog().getDocumentOutline())); }); }