Похожие презентации:
uveos_pdf_screens
1.
PDF-АКТ · ЭКРАН ПОДПИСИПодпись клиента
Два способа подтвердить акт — рисунком на экране или готовым файлом.
UVEOS · Подпись акта приёма-сдачи
Подпись акта
Canvas
signature_pad.toDataURL() возвращает
base64 картинку подписи
Нарисовать
Загрузить PNG
Проверка файла
Подпись пальцем или мышью
на холсте (signature_pad)
Готовый файл подписи,
проверяется тип image/png
Оба способа приводят к одному и тому же base64-хуку useGenerateActPdf
client: DrawSignatureModal.tsx, UploadSignatureModal.tsx, hooks/useGenerateActPdf.tsx
Хук отклоняет файл, если file.type !==
image/png
2.
PDF-АКТ · КАК ЭТО РАБОТАЕТОт HTML до PDF
Данные заказа превращаются в HTML-шаблон, а HTML — в готовый PDF-файл.
Генерация
Данные заказа
Handlebars
Puppeteer
PDF (A4)
VIN, IMEI, клиент, подпись —
из Prisma/PostgreSQL
Шаблон компилируется и
кэшируется в TemplateLoader
Headless Chromium рендерит
HTML как настоящую страницу
page.pdf() → буфер → base64
→ скачивание на клиенте
«То же самое, что вы видите в браузере при печати страницы — только автоматически»
Печать компании кэшируется в base64 при старте сервиса, а сам шаблон не парсится заново на каждый
server/src: services/pdf.services.ts
· templates/utils/pdf-renderer.ts
· templates/utils/templateLoader.ts
запрос — так генерация
одного акта занимает
доли секунды.