S1Edit Spočítat přínos
Dokumentový engine & CMS · PHP 8.3 · self-hosted

Wordový certifikát, který se při importu nerozsype.

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.

Věrnost předloze
1:1
Cizích editorů
0
Formáty papíru
13
Kontrol v testech
416
Akademie řemesel Praha

Osvědčení

o rekvalifikaci · č. %DOC.NUMBER%

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%

ředitel vzdělávacího zařízení
Šablona osvědčení na A4. Modré značky jsou parametry — S1Edit je najde v naimportovaném textu podle českých vzorů a při tisku doplní z datového zdroje. Původní sazba zůstává, jen se do ní vloží data.

Na čem to stojí

Čtyři pravidla, která se v aplikaci nikdy neohýbají. Zbytek funkcí z nich vyplývá.

01

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.

02

Věrnost předloze 1:1

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ě.

03

Nic se nemaže

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.

04

Bezpečnost v jádře

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.

Jak dokument projde systémem

Čtyři kroky od souboru, který vám přišel mailem, k podepsanému PDF. Každý běží na vašem serveru.

01

Import

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.

02

Rozpoznání parametrů

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í.

03

Sazba a úpravy

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.

04

Podpis a export

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.

Editor, který nikdo jiný nedodává

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.

Formátování
H1–H6, odstavec, citace, předformátovaný blok. Tučné, kurzíva, podtržení, přeškrtnutí, dolní i horní index.
Barvy a zvýrazňovač
Barvy textu včetně wordové modré #1f4e78, zvýrazňovač ve čtyřech odstínech.
Najít a nahradit
Ctrl+F, jednotlivé i všechny výskyty.
Obsah a vodoznaky
Obsah z nadpisů H1–H4 s kotvami jedním kliknutím. Vodoznak NÁVRH, DŮVĚRNÉ, VZOR, SCHVÁLENO nebo vlastní text přes pozadí každé strany.
Sazba pro tisk
Dva nebo tři sloupce, callout boxy (info, tip, varování, důležité), tabulky s přidáváním řádků, slučováním buněk, záhlavím a popiskem.

Co běží v prohlížeči

Nativní JavaScript v ES modulech. Nic víc — žádný framework, žádný balík z npm, který by bylo potřeba hlídat.

nativní ES moduly bez frameworku bez CDN bez unsafe-eval

Co běží na serveru

Knihovny jsou součástí repozitáře ve vendor/ a načítá je vlastní autoloader — Composer se nepoužívá vůbec.

Nette 3.2 Latte 3 Tracy 2.10 PDF backend čeká na licenčně schválenou náhradu MIT PHP DOCX + vlastní DOC/ODT PhpSpreadsheet Vlastní PHP sanitizátor

Parametry se poznají česky

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á.

rekvalifikační program: Kuchař – číšník %COURSE.TITLE%
v období od ………… do ………… od %COURSE.DATE-START% do %COURSE.DATE-END%
na teorii 80 hodin na teorii %COURSE.HOURS-THEORY% vyučovacích hodin
V Praze dne 24. 8. 2026 V %COURSE.CITY% dne %COURSE.DATE%

Formáty, které umí přijmout i vydat

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.

Import

.docx .doc .odt .xlsx .ods .csv .pdf s obrázky .md .html .s1doc

Export

PDF A4 1:1 Word .docx HTML Markdown .s1doc / JSON zdroj pro CKEditor 4
Norma Formát Rozměr K čemu se hodí
ISO 216A4 — výchozí210 × 297 mmúřední dokumenty, smlouvy, certifikáty
ISO 216A3297 × 420 mmvelké tabulky, schémata, přehledy
ISO 216A5, A6148 × 210 · 105 × 148 mmmanuály, brožury, průkazky, štítky
ISO 216B4, B5250 × 353 · 176 × 250 mmpublikace, skripta, větší tiskoviny
ANSI / ASME Y14.1ANSI A – Eod 215,9 × 279,4 mmseveroamerický standard, technické výkresy
US StandardUS Legal, Executive215,9 × 355,6 · 184,15 × 266,7 mmamerické 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í.

Organizace, podpisy, přístupy

Organizace a sektory
Název, IČO, DIČ, sídlo, logo firmy a odvětví — vzdělávání a rekvalifikace, stavebnictví, právo a finance, IT, zdravotnictví, výroba, služby.
Tým
Vlastník a další členové v rolích editor nebo viewer. Běžná organizace má tři členy; globální administrátor nemá limit a vidí do všech organizací.
Podpisy a razítka
Kreslení myší, prstem nebo perem do průhledného PNG. Skeny se automaticky očistí od bílého pozadí. Vlastní i sdílené v rámci organizace.
Dvoufázové přihlášení
TOTP podle RFC 6238 v čistém PHP, kompatibilní s Google Authenticator, Microsoft Authenticator i Authy.

REST API

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

Co potřebuje k provozu

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.

PHP 8.3 a výš
Povinná rozšíření: dom, libxml, mbstring, iconv, fileinfo, zip, pdo, pdo_mysql, json, curl. Doporučené gd pro průhlednost razítek.
MySQL 8.0 nebo MariaDB 10.5
InnoDB, utf8mb4. Struktura se importuje ze schema.sql nebo rovnou instalátorem.
Apache 2.4 s mod_rewrite nebo Nginx
Dokumentový root míří do www/. Zapisovatelné musí být temp, log a storage.
Bez externích PDF nástrojů
Omezený import textových PDF běží ve vlastním PHP parseru; PDF export čeká na licenčně schválený backend.
Bez Composeru
V repozitáři není composer.json ani jeho autoloader. Knihovny leží ve vendor/ a načítá je vlastní autoloader nad vygenerovanými mapami.
Kontrolované ruční aktualizace
Nasazuje se pouze předem licenčně ověřený proprietární balík; aplikace sama cizí program nespouští.
Automatické kontroly
Testy včetně striktního licenčního whitelistu se spouští přes php tests/run-all.php.
Data zůstávají u vás
Aplikace neposílá obsah dokumentů nikam ven. AI doplňování parametrů je nepovinné a jede na vašem klíči.

Pošlete nám jeden svůj certifikát.

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.