Это по своей сути, то, что они "сканируют", звучит больше как что-то, к чему можно приблизиться с помощью компьютерного зрения, однако в настоящее время это намного выше моего нынешнего уровня программирования.
например. такие проекты, как SimpleCV, могут быть хорошей отправной точкой,
http://www.simplecv.org/
Или, возможно, вы могли бы с легкостью распознавать OCR, читая "сканы" и работая на основе содержимого. Pytesseract кажется популярным для этого типа задач,
https://pypi.org/project/pytesseract/
Однако все еще не хватает определения того, как бы вы сказали своей программе, что эта часть изображения означает, что это 3 отдельных контракта. Есть ли что-то в этих файлах, в частности, проясняющее это, например, «1 из 3» на страницах, логотип или иное? это будет основная часть, которая определяет, насколько сложна проблема, которую вы пытаетесь решить.