Я организую местное мероприятие для 400 человек, поэтому я хотел создать элегантный и быстрый способ регистрации гостей. Я купил сканер штрих-кода за 20 долларов и настроил API Feathers.js для создания динамических PDF-файлов и конечную точку, чтобы отмечать присутствие моих гостей при сканировании.
В этом небольшом руководстве я расскажу о части создания PDF-файлов. .
Рабочий процесс
- Создайте настраиваемую службу Feathers, отвечающую за создание PDF-файлов.
- Создайте настраиваемое промежуточное ПО для отправки ответа
application/pdf
вместоJSON
. - Установите пакет PDFKit внутри этой службы.
- Установите штрих-коды с помощью пакета bwip-js.
- Выполнено.
1. Таможенная служба
Используя Feathers Cli, запустите feathers generate service
и выберите A custom service
, когда Feathers Cli запросит тип службы. Выбирайте любое имя, которое вам больше нравится, я выбрал tickets
.
2. Пользовательское промежуточное ПО
По умолчанию Feathers отправляет JSON
ответов. Поэтому нам нужно специальное промежуточное ПО для обработки ответов в формате PDF. Для этого измените вызов инициализации службы внизу вашего *.service.js
файла (в моем случае tickets.service.js
):
3. Установите PDFKit и bwip-js.
Запустите npm install — save pdfkit bwip-js
. Эти пакеты будут отвечать за создание PDF-файлов и штрих-кодов в нашем приложении.
- Импортируйте два пакета в верхней части вашего класса обслуживания (в моем случае
tickets.class.js
). - Добавьте частную функцию
_generateBarcode()
для создания штрих-кода, который будет добавлен в PDF-файл. - Добавьте еще one
_generatePdf()
, чтобы сгенерировать документ PDF. - Обновите функцию public
get()
, которая получает бронирование (или любую другую службу базы данных, которую вы хотите использовать для динамического создания PDF-файлов). - Не забудьте добавить
setup()
функцию для привязки экземпляра приложения к классу службы, чтобы мы действительно могли вызывать другие службы Feather.
Вот полный курс:
Попробуй это
Откройте конечную точку GET в вашем браузере/tickets/[bookingId]
. Там вас должен ждать блестящий PDF-файл.
Большое спасибо замечательной команде Feathers.