Nic cizího v editoru
V kódu není TinyMCE, CKEditor 5, Quill ani jeden skript z CDN. Pás karet, stavová mašina i strom DOM transformací běží na serveru v PHP. Není co aktualizovat kvůli cizí licenci a není komu hlásit provoz.
S1Edit převezme osvědčení, smlouvu nebo formulář z Wordu i PDF a vysadí ho na A4 tak, jak byl — velikosti písem, zarovnání, prázdné řádky, barvy i tabulky. Editor je psaný v čistém PHP a běží na vašem serveru. Žádná cizí distribuce, žádné CDN, žádné volání ven.
Tímto se potvrzuje, že
%PERSON.NAME%, nar. %PERSON.BORN%,
úspěšně absolvoval/a rekvalifikační program %COURSE.TITLE% v období od %COURSE.DATE-START% do %COURSE.DATE-END%.
Program obsahoval na teorii %COURSE.HOURS-THEORY% a na praxi %COURSE.HOURS-PRACTICE% vyučovacích hodin.
V %COURSE.CITY% dne %COURSE.DATE%
Čtyři pravidla, která se v aplikaci nikdy neohýbají. Zbytek funkcí z nich vyplývá.
V kódu není TinyMCE, CKEditor 5, Quill ani jeden skript z CDN. Pás karet, stavová mašina i strom DOM transformací běží na serveru v PHP. Není co aktualizovat kvůli cizí licenci a není komu hlásit provoz.
Certifikáty a smlouvy z Wordu si podrží velikosti písem, zarovnání, prázdné řádky, barvy a tabulky. Dokumenty se sázejí v Calibri 11 pt; kde chybí, nastoupí Carlito se shodnými metrikami, takže stránkování vyjde stejně.
Pravidla pro A4 i doplňování parametrů zachovávají sto procent původního obsahu. Když si systém neví rady, nechá text být — nikdy ho nezahodí, aby výsledek vypadal čistěji.
Všechen obsah projde vlastním server-side PHP sanitizátorem s přesným
seznamem povolených prvků. Hlavičky CSP neobsahují unsafe-eval. Zapisující
akce jdou přes POST s CSRF tokenem a potvrzením na serveru.
Čtyři kroky od souboru, který vám přišel mailem, k podepsanému PDF. Každý běží na vašem serveru.
Word .docx i binární .doc, OpenDocument, tabulky
Excel, Markdown a HTML. Textové PDF umí omezený vlastní PHP parser bez externích nástrojů.
PDF s nestandardním kódováním nebo pouze obrazovou vrstvou se z licenčních důvodů neimportuje.
Nad naimportovaným textem běží česká pravidla v PHP — žádné volání do AI. Najdou názvy kurzů, období, hodinové dotace, místo a datum a nahradí je parametrem, který se před tiskem doplní z datového zdroje.
Nad sloupci datových zdrojů se pak dají vizuálně skládat podmíněné bloky (IF / THEN / ELSE), takže jedna šablona pokryje víc variant osvědčení.
Dokument se sází na vybraný formát listu na výšku i na šířku a formát se dá přepnout přímo v editoru. Vodoznak, obsah z nadpisů, sloupce, callout boxy a tabulky se slučováním buněk jsou součástí pásu karet.
Podpis se nakreslí myší, prstem nebo perem do průhledného PNG; sken razítka si systém sám očistí od bílého pozadí. Hotový dokument jde do PDF 1:1 s tiskovými okraji 20 mm a vloženými fonty s diakritikou, do Wordu, do Markdownu, do JSON balíčku — nebo jako zdroj pro cizí CKEditor 4.
Pás karet má 49 položek v 9 skupinách. Každé stisknutí tlačítka je požadavek na server, kde se nad DOM provede příkaz a vrátí se nový stav dokumentu.
#1f4e78, zvýrazňovač ve čtyřech odstínech.Nativní JavaScript v ES modulech. Nic víc — žádný framework, žádný balík z npm, který by bylo potřeba hlídat.
Knihovny jsou součástí repozitáře ve vendor/ a načítá je vlastní
autoloader — Composer se nepoužívá vůbec.
Vzory jsou napsané v PHP, takže rozpoznávání běží pořád stejně a nic neodesílá. Vlevo je text, jak přišel z Wordu; vpravo, co z něj systém udělá.
Třináct formátů papíru podle ISO 216, ANSI/ASME Y14.1 a US, každý na výšku i na šířku, každý 1:1 do PDF a do Wordu.
| Norma | Formát | Rozměr | K čemu se hodí |
|---|---|---|---|
| ISO 216 | A4 — výchozí | 210 × 297 mm | úřední dokumenty, smlouvy, certifikáty |
| ISO 216 | A3 | 297 × 420 mm | velké tabulky, schémata, přehledy |
| ISO 216 | A5, A6 | 148 × 210 · 105 × 148 mm | manuály, brožury, průkazky, štítky |
| ISO 216 | B4, B5 | 250 × 353 · 176 × 250 mm | publikace, skripta, větší tiskoviny |
| ANSI / ASME Y14.1 | ANSI A – E | od 215,9 × 279,4 mm | severoamerický standard, technické výkresy |
| US Standard | US Legal, Executive | 215,9 × 355,6 · 184,15 × 266,7 mm | americké právní smlouvy, firemní zprávy |
Export „zdroj pro CKEditor 4" je pro případ, kdy dokument musí skončit v cizí
redakci: obsah se převede na HTML 4.01 a vzhled se zapíše do atributu
style u každého prvku, takže cílový editor nepotřebuje žádný stylopis
a dokument se v něm dá dál upravovat. V aplikaci samotné žádný kód CKEditoru není.
Zapisující endpointy vyžadují platnou relaci a CSRF token v hlavičce
X-CSRF-Token, při serverové synchronizaci Bearer token.
# Dokumenty
GET /api/documents
POST /api/documents
PUT /api/documents/{id} uloží novou verzi
POST /api/documents/{id}/autosave
# Editor: příkaz nad DOM
POST /api/editor/command
# Import a export
POST /api/import/docx
POST /api/import/spreadsheet
GET /dokumenty/{id}/export-pdf
# Parametry a podmínky
GET /api/datasources/variables
POST /api/conditions/evaluate
Jeden server, jedna databáze, žádná služba třetí strany. Instalace se dá projít v prohlížeči: stránka zkontroluje prostředí, zeptá se na databázi a účet správce a sama se pak zamkne.
schema.sql nebo rovnou instalátorem.www/. Zapisovatelné musí být temp, log a storage.composer.json ani jeho autoloader. Knihovny leží ve vendor/ a načítá je vlastní autoloader nad vygenerovanými mapami.php tests/run-all.php.Naimportujeme ho a vrátíme vám PDF, ať vidíte na svém dokumentu, jak věrně to dopadne. Zkušební plán je zdarma a bez omezení na čas.