private List<PdfSource<?>> basicInputs() { List<PdfSource<?>> input = new ArrayList<PdfSource<?>>(); input.add(customInput("pdf/multipage-test-a.pdf")); input.add(customInput("pdf/multipage-test-b.pdf")); return input; }
@Test public void discardsOutline() throws IOException { List<PdfSource<?>> inputs = new ArrayList<PdfSource<?>>(); inputs.add(customInput("pdf/large_outline.pdf")); inputs.add(customInput("pdf/test_outline.pdf")); setUpParameters(inputs); parameters.setOutlinePolicy(OutlinePolicy.DISCARD); parameters.addPage(0, 3); parameters.addPage(1, 3); parameters.addPage(0, 2); parameters.addPage(1, 2); parameters.addPage(0, 1); parameters.addPage(1, 1); testContext.pdfOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertHasOutline(false); }
@Test public void keepsOutline() throws IOException { List<PdfSource<?>> inputs = new ArrayList<PdfSource<?>>(); inputs.add(customInput("pdf/large_outline.pdf")); inputs.add(customInput("pdf/test_outline.pdf")); setUpParameters(inputs); parameters.setOutlinePolicy(OutlinePolicy.RETAIN); parameters.addPage(0, 3); parameters.addPage(1, 3); parameters.addPage(0, 2); parameters.addPage(1, 2); parameters.addPage(0, 1); parameters.addPage(1, 1); testContext.pdfOutputTo(parameters); execute(parameters); PDDocument outDocument = testContext.assertTaskCompleted(); PDDocumentOutline outline = outDocument.getDocumentCatalog().getDocumentOutline(); assertNotNull("Has outline", outline); for(int i = 1; i < 34; i++) { testContext.assertOutlineContains("Bookmark" + i); } for(int i = 34; i <= 49; i++) { testContext.assertOutlineDoesntContain("Bookmark" + i); } testContext.assertOutlineContains("Test first level."); testContext.assertOutlineContains("Secondpage test first level."); }