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

2.8 KiB

Zaznam zmen

1.0.2

Opraveno:

  • Swagger UI se u tela requestu rozbil. Verze 1.0.1 pridala popis k polim page, page_numbers, toc, assets, chunking, wait_for, margin a progress, coz jsou odkazy na vnorene modely. V OpenAPI z toho vznikl $ref se sourozeneckym klicem description. To je podle OpenAPI 3.1 v poradku, ale Swagger UI 5 takovy uzel nerozbali, takze prestala fungovat ukazka tela requestu i Try it out. Popisy se presunuly do docstringu prislusnych modelu, kde je Swagger zobrazi u samotneho modelu. V OpenAPI uz neni zadny $ref se sourozenci.

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