@Test public void testValidation() { SetHeaderFooterParameters victim = new SetHeaderFooterParameters(); victim.setPageCountStartFrom(-1); InputStream stream = mock(InputStream.class); PdfSource<InputStream> input = PdfStreamSource.newInstanceNoPassword(stream, "name"); victim.addSource(input); TestUtils.assertInvalidParameters(victim); } }
@Test public void testFileCounterStartFrom() throws Exception { SetHeaderFooterParameters parameters = basicNoSources(); parameters.addSource(customInput("pdf/test_file.pdf", "a.pdf")); parameters.addSource(customInput("pdf/test_file.pdf", "b.pdf")); parameters.setFileCountStartFrom(10); parameters.setPattern("Foo"); parameters.setOutputPrefix("[FILENUMBER]-[BASENAME]"); execute(parameters); testContext.assertTaskCompleted(); testContext.assertOutputContainsFilenames("10-a.pdf", "11-b.pdf"); }
@Test public void testEncryptedFile() throws Exception { parameters = basicNoSources(); parameters.addSource(encryptedInput()); execute(parameters); testContext.assertTaskCompleted(); testContext.assertOutputSize(1); }
@Test public void testWithScaling() throws Exception { parameters = basicNoSources(); parameters.setAddMargins(true); parameters.addSource(customInput("pdf/no_margins_test_file.pdf")); parameters.setPattern("Test footer"); parameters.setFontSize(15); parameters.setVerticalAlign(VerticalAlign.TOP); execute(parameters); testContext.assertTaskCompleted(); testContext.forPdfOutput("test_file1.pdf", d -> { assertHeaderHasText(d.getPage(0), "Test footer"); }); }
@Test public void testDocumentWithRotatedPagesHeader() throws Exception { parameters = basicNoSources(); parameters.addSource(customInput("pdf/rotated_pages.pdf")); parameters.setPattern("[PAGE_ARABIC]"); parameters.setVerticalAlign(VerticalAlign.TOP); parameters.setHorizontalAlign(HorizontalAlign.CENTER); execute(parameters); testContext.assertTaskCompleted(); testContext.forPdfOutput("test_file1.pdf", d -> { assertHeaderHasText(d.getPage(0), "1"); assertHeaderHasText(d.getPage(1), "2"); assertHeaderHasText(d.getPage(2), "3"); assertHeaderHasText(d.getPage(3), "4"); assertHeaderHasText(d.getPage(4), "5"); }); }
@Test public void testDocumentWithRotatedPagesFooter() throws Exception { parameters = basicNoSources(); parameters.addSource(customInput("pdf/rotated_pages.pdf")); parameters.setPattern("[PAGE_ARABIC]"); parameters.setVerticalAlign(VerticalAlign.BOTTOM); parameters.setHorizontalAlign(HorizontalAlign.LEFT); execute(parameters); testContext.assertTaskCompleted(); testContext.forPdfOutput("test_file1.pdf", d -> { assertFooterHasText(d.getPage(0), "1"); assertFooterHasText(d.getPage(1), "2"); assertFooterHasText(d.getPage(2), "3"); assertFooterHasText(d.getPage(3), "4"); assertFooterHasText(d.getPage(4), "5"); }); }
@Test public void testEvenPages() throws Exception { parameters = new SetHeaderFooterParameters(); parameters.setPredefinedSetOfPages(PredefinedSetOfPages.EVEN_PAGES); parameters.addSource(customInput("pdf/test_file.pdf")); parameters.setPattern("Page [PAGE_ARABIC]"); parameters.setVerticalAlign(VerticalAlign.BOTTOM); parameters.setOutputPrefix("test_file[FILENUMBER]"); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.forPdfOutput("test_file1.pdf", d -> { assertFooterHasText(d.getPage(0), ""); assertFooterHasText(d.getPage(1), "Page 2"); assertFooterHasText(d.getPage(2), ""); assertFooterHasText(d.getPage(3), "Page 4"); }); }
@Test public void testMultiplePageRanges() throws Exception { parameters = new SetHeaderFooterParameters(); parameters.addSource(customInput("pdf/test_file.pdf")); parameters.addPageRange(new PageRange(1, 2)); parameters.addPageRange(new PageRange(4, 5)); parameters.setPattern("Page [PAGE_ARABIC]"); parameters.setVerticalAlign(VerticalAlign.BOTTOM); parameters.setOutputPrefix("test_file[FILENUMBER]"); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.forPdfOutput("test_file1.pdf", d -> { assertFooterHasText(d.getPage(0), "Page 1"); assertFooterHasText(d.getPage(1), "Page 2"); assertFooterHasText(d.getPage(2), ""); assertFooterHasText(d.getPage(3), "Page 4"); }); }