В этой статье я поделюсь с вами одной из самых сложных задач, с которыми я столкнулся, когда принимал участие в разработке системы панели администратора для медицинской компании.
Задача состояла в том, чтобы создать инструмент генератора штрих-кода для компании. Во-первых, может показаться и можно подумать, что существует множество npm-пакетов, которые мы можем использовать. Но это было не так просто, как казалось, поэтому рекомендую вам дочитать эту статью до конца, чтобы получить исчерпывающий ответ о том, что в ней самое сложное и сложное.
1. Первым делом нужно было найти пакет. (Я использовал React Barcode для генерации штрих-кода)
2. Второй шаг: импорт компонента штрих-кода.
3. Третий шаг — внедрить компонент штрих-кода в ваш проект.
Вам нужно открыть div с определенным id и поместить компонент штрих-кода в div. Идентификатор необходим для печати штрих-кода.
4. Создайте все необходимые инструменты
1. Создайте хук React useRef, чтобы получить доступ к самому компоненту Barcode.
const ref= useRef()
2. ширина и высота (мои настройки width={1}, height={40} считаются стандартными)
3. Итак, нам нужно значение для штрих-кода в виде чисел. Как мы знаем, штрих-код содержит числа (11–13 разных)
Мой окончательный результат:
Как вы видите выше фото со случайными числами, наш компонент сгенерировал штрих-код.
5. Последний шаг, который, с моей точки зрения и опыта, является наиболее сложным, заключается в том, чтобы сделать штрих-код пригодным для печати с правильным размером страницы.
Итак, вот моя проблема, с которой я столкнулся. Я не мог распечатать ее с помощью функции window.print(), так как она печатает всю страницу в формате a4 или других форматах, но у нее нет меньшего размера страницы, да не размер страницы для печати.
Решение
Чтобы решить эту проблему, я исследовал почти неделю, и О решил эту проблему с помощью пакета ReactToprint.
Применение
— — Trigger — —получает div, который запустит функцию печати
— — Content— — получает ссылку, которая связана с компонентом штрих-кода, чтобы получить доступ к изображению сгенерированного штрих-кода
— — pageStyle — — это решение нашей задачи получает параметры стилей страницы
На рисунке выше я задал параметры стиля в переменном стиле страницы, как вы видите, размер моей страницы составляет 30 мм 20 мм (вы можете указать размер своей страницы, переведя пиксели в миллиметры)
Итак, окончательный результат:
Наслаждайтесь!