使用ExecutorService并发处理任务

问题遇到的现象和发生背景

现在需要在pdf中识别二维码,二维码是以图片形式附在pdf的页面中,识别二维码的工具是zxing,正常识别没有没问题。但如果pdf页数特别多,这个时候就会用zxing先循环每一页pdf页面,然后再每一页中不断切图来识别二维码。此时效率就会很低,如何能通过线程池,将pdf页面拆分成若干个任务,比如一个pdf有1000页,如何让第一个线程执行0-10页,第二个线程执行11-20页,第三个线程执行21-30,以此类推。然后线程同时执行,提高执行效率。各位麻烦给点思路,需要先怎么处理,然后再怎么处理,感谢各位了。

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

单页的处理都没问题了,for循环 1000页,循环里面提交给线程池不就好了

定位可以考虑使用opencv。对原始图像进行二值化、腐蚀、膨胀、定位操作,现成的算法比较方便,效率应该会比不断切图高。再之后多个页面的处理可以考虑使用线程池,如果要求所有二维码识别完成后返回,可以考虑使用CompletableFuture或CountDownLatch等并发辅助类