Pr
NFR Prisma
Услуга за генериране и преобразуване на документи (PDF).
Защитено изтегляне — изисква споделена връзка или администраторски достъп.
Бележки към версиите
26.10.0607.10.2026
✨ Нови функции
- [Шаблони] Преглед на шаблон с примерни данни —
/template/{име}/preview?format=pdf(всички страници) или?format=png(първата страница), така че приложенията могат да покажат как ще изглежда печатът, преди шаблонът да бъде избран. Началната страница и описанията на шаблоните сочат към прегледа. - [Шаблони] Потребителски полета и на ниво документ —
{{DataSource.Document.CustomFields.КОД.Value}}, със същите правила като при контрагентите и редовете. - [Шаблони] Шаблони за конкретен клиент — в папка с префикс
@(Templates/@клиент/шаблон) и с име@клиент/шаблон, например като шаблон за печат на контрагент в Gravis. Началната страница ги показва отделно, по клиенти; описание има в/docs/template-folders. - [Инсталация] Инсталатор
NFR Prisma Setup— инсталира и обновява услугата с една стъпка: вProgram Files\NFR\Prisma, като Windows услугаNfrPrisma(автоматичен старт и рестарт след срив), с правило в защитната стена и с вграден Chromium. Ръчно създадена услуга за Prisma се заменя автоматично. Поддържа и тиха инсталация (/VERYSILENT). - [Интеграция]
IPrismaClient.OpenPreviewStreamAsync— прегледът на шаблон е достъпен и от .NET клиента; клиентът работи и с шаблони от клиентски папки.
🔧 Подобрения
- [Настройки] Настройките на конкретната инсталация се пазят отделно — в
C:\ProgramData\NFR\Prisma\appsettings.json, само с ключовете, които се различават (обикновено портът).appsettings.jsonдо услугата съдържа стойностите по подразбиране и се подменя при всяко обновяване, така че новите настройки стигат до всички инсталации. - [Настройки] Пътят до Chromium може да е относителен спрямо папката на услугата (по подразбиране
Chromium\chrome.exe). - [Шаблони] Общо количество по мерни единици и в приходните документи (
generic-inbound-bg,generic-inbound-batches-bg) — под редовете, когато е включено за вида документ. - [Шаблони] Дълга стойност в допълнителните полета (например „Маршрут“) вече не започва по-вляво от останалите — пренася се в колоната на стойността.
- [Документация] Всеки шаблон има описание — какви данни чете и какво печата; описанията заменят старите demo страници.
- [Логове] По-чист
prisma.log— SQL заявките към журнала вече не се записват. - [Зависимости] Обновени версии на пакетите.
26.08.0808.08.2026
✨ Нови функции
- [Шаблони] Потребителски полета в шаблоните — шаблон може да достъпи дефинирано потребителско поле по неговия код с точкова нотация (
{{CustomFields.КОД.Value}}) или да обходи всички полета ({{#CustomFields}}…{{/CustomFields}}). Работи за контрагенти, обекти и редове на документа; липсващ код се отпечатва празно, без грешка. - [Документация] Нова начална страница на услугата (
/) — хъб, който сочи към документацията и към всеки инсталиран шаблон с неговото описание. - [Документация] Разглеждане на документацията в браузър —
/docsи/docs/{име}показват Markdown документите като оформен HTML (светла/тъмна тема, стил за печат). - [Документация] Пълен справочник на модела (
/docs/model-reference) — всички обекти и свойства с обяснение, плюс ръководство за потребителските полета.
🔧 Подобрения
- [Документация] Описанията на шаблоните (
/template/{име}) вече се показват със същото оформление като документацията, вместо като необработен HTML.
26.06.1414.06.2026
✨ Нови функции
- [Рендериране] Незадължителен воден знак „ЗА СПРАВКА“ — когато моделът зададе
Document.IsReferenceCopy, услугата отпечатва диагонален воден знак върху целия документ. По подразбиране е изключен, така че съществуващите заявки остават непроменени. - [Интеграция] Нова библиотека
Nfr.Prisma.Public— споделени договори (GenericTemplate) и типизиран клиентIPrismaClientза .NET потребители.
26.06.0404.06.2026
✨ Нови функции
- [Операции] Нов крайна точка
/health— единна проверка за наличност и готовност на рендериращата услуга. - [Журнал] Записва се изходът от всяко рендериране (успех или грешка), така че журналът може да отговори дали даден печат наистина е излязъл.
🔧 Подобрения
- [Надеждност] Самовъзстановяващ се Chromium: ако рендериращият процес умре или прекъсне връзка, следващата заявка го стартира отново автоматично — без рестарт на услугата.
- [Производителност] При старт се държи готова Chromium страница и се преизползва между рендериранията, така че първият печат след стартиране вече не е забележимо по-бавен от останалите.
- [Надеждност] Едновременните рендерирания вече са ограничени, така че пик от заявки не може да изчерпи паметта или да събори браузъра.
- [Надеждност] Навигацията на страница има твърдо изтичане на време, така че блокирал шаблон не може да задържи Chromium страница безкрайно.
- [Операции] Грешките при рендериране се връщат като стандартни ProblemDetails отговори, вместо като сурови stack trace-ове — по-лесни за обработка от клиенти и без изтичане на вътрешна информация.
- [Настройки] Три нови параметъра за настройка в
appsettings.jsonпод секцияRendering:MaxConcurrent(по подразбиране 4),NavigationTimeoutMs(по подразбиране 30 000),MaxPageUses(по подразбиране 200). - [Зависимости] Обновени версии на пакетите.