Files
html-to-pdf/documentation/zmeny.md
T
2026-09-03 10:03:10 +02:00

56 lines
2.3 KiB
Markdown

# Zaznam zmen
## 1.0.1
Opraveno:
- obrazek uvnitr bunky tabulky, ktery ma sirku v procentech, uz z PDF nemizi.
WeasyPrint takovou sirku neumi vyresit proti bunce, jejiz sirku jeste nezna,
obrazek vysel nulove siroky a zmizel bez chyby, takze se neobjevil ani
v `missing_assets`. Sluzba nove u enginu `weasyprint` prepise u obrazku
v `td` a `th` `width: <n>%` na `width: auto`, odstrani procentualni atribut
`width` a doplni `max-width: 100%`, pokud zadne nema. Chromia se to netyka.
Typicky pripad je produktovy list, kde je fotka v levem sloupci tabulky.
Zmeneno:
- Swagger a OpenAPI popisuji moznosti strankovani, tedy `page`, `page_numbers`,
`chunking` a `toc`, vcetne omezeni jednotlivych rezimu cislovani
- Swagger a OpenAPI popisuji uchovavani souboru u `POST /convert` i u `POST /jobs`
vcetne doby dostupnosti vysledku a chovani po restartu sluzby
- pole odpovedi `JobState` a `JobProgress` maji v OpenAPI popis
- pribyl priklad tela requestu s cislovanim stranek na sirku stranky
## 1.0.0
Prvni implementace sluzby.
Pridano:
- synchronni endpoint `POST /convert` s limitem a odkazem na asynchronni cestu
- asynchronni endpointy `POST /jobs`, `GET /jobs/{id}`,
`GET /jobs/{id}/result`, `DELETE /jobs/{id}`
- `GET /health` s overenim dostupnosti obou enginu a stavem fronty
- engine WeasyPrint jako vychozi, engine Chromium pres Playwright, rezim `auto`
s detekci skriptu a naslednym fallbackem
- deleni dokumentu na casti na strukturalnich hranicich a slucovani vysledku
- dvoupruchodovy render obsahu se skutecnymi cisly stranek
- cislovani stranek pres CSS countery nebo pres cislovaci vrstvu
- zalozky PDF z nadpisu, vypinatelne pres `outline`
- profily PDF/A a PDF/UA pres `pdf_profile`
- SSRF ochrana s kontrolou po DNS resolvu, na kazdem presmerovani a u vsech
pozadavku prohlizece
- hlaseni nedostupnych assetu v odpovedi jobu a v logu
- fronta s omezenym poctem workeru, zruseni jobu, expirace vysledku
- volitelny callback po dokonceni jobu
- strukturovane JSON logovani s `job_id`
- Dockerfile s WeasyPrintem, Chromiem, fonty s ceskou diakritikou a healthcheckem
- testy vcetne fixture o zhruba 1200 strankach
Zamerne neimplementovano:
- autentizace, zpusob neni domluveny
- databaze, Redis ani message broker
- webove UI
- jakekoliv limity zapnute ve vychozim stavu