Вариантов нечитаемости штрихкода немного:
1. Непропорциональное масштабирование;
2. "Затекание" штрихкода из-за маленького размера;
3. Неконтрастная основа (типа золото-серебро);
Если заказчик "уперся рогом" и требует, чтобы последняя цифра была по-порядку, то я выходил из такой ситуации следующим образом:
1. Генерируешь штрихкоды, располагаешь на макете.
2. Поверх номера штрихкода располагаешь белый прямоугольник, которым скрываешь его цифровое значение. Можно, конечно, и нечитаемый ш/к сгенерировать, без цифр, но работать с ним иногда неудобно.
3. Поверх белого прямоугольника ставишь текстовый фрейм с номером, который идет так как нужно. Иногда, кстати, вполне хватало просто скрыть белым прямоугольником контрольную цифру и заказчик успокаивался