Сейчас это решается без скриптов. В генераторе
https://qqkod.ru есть тип содержимого «Текст»: вставляете колонку значений по одному на строку и выбираете выгрузку PNG. Каждый код приходит отдельным файлом в ZIP, имя файла содержит значение строки, поэтому нумерация 1-3000 не перепутается. За один запуск обрабатывается до 1500 строк, 3000 кодов это два захода, без регистрации и без почты.
Нюанс про размер: PNG приходят крупными, около 1200 px по стороне, под точные 116x116 их придется ужать пакетным ресайзом или задать размер при вставке. Для печати запас разрешения скорее плюс.
Раскрытие: сервис делал я, как раз под пакетные задачи такого рода.