@RequestMapping(value = "/test", method = RequestMethod.GET)
public void test(HttpServletResponse response,
                 HttpServletRequest request) throws IOException, 
InterruptedException {
    logger.info("==========test============");
    String path = "H:\\dd\\pdf\\a\\??????_??????????Java??????????????????.pdf";
    String toPath1 = 
"H:\\dd\\pdf\\a\\??????_??????????Java??????????????????test1.pdf";
    String toPath2 = 
"H:\\dd\\pdf\\a\\??????_??????????Java??????????????????test2.pdf";
    String toPath3 = 
"H:\\dd\\pdf\\a\\??????_??????????Java??????????????????test3.pdf";
    PDDocument document = PDDocument.load(new File(path));
    PDPageTree pages = document.getPages();
    Iterator<PDPage&gt; iterator = pages.iterator();
    int numberOfPages = document.getNumberOfPages();
    System.out.println("numberOfPages = " + numberOfPages);
    CountDownLatch count = new CountDownLatch(3);
    new Thread(()-&gt;{
        PDDocument to = new PDDocument();
        for (int i = 0; i < 1000; i++) {
            to.addPage(document.getPage(i));
        }
        try {
            System.out.println(to);

            to.save(toPath1);
            to.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        count.countDown();
    }).start();
    new Thread(()-&gt;{
        PDDocument to = new PDDocument();
        for (int i = 0; i < 500; i++) {
            to.addPage(document.getPage(i));
        }
        try {
            System.out.println(to);
            to.save(toPath2);
            to.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        count.countDown();

    }).start();
    new Thread(()-&gt;{
        PDDocument to = new PDDocument();
        for (int i = 0; i < 100; i++) {
            to.addPage(document.getPage(i));
        }
        try {
            System.out.println(to);

            to.save(toPath3);
            to.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        count.countDown();

    }).start();
    count.await();
    document.close();
}

Reply via email to