Jetstack
Zpět na blog Blog

Generování PDF — ze stránek dokumenty připravené k tisku

Publikováno 1. ledna 2024

Technická ilustrace k článku Jetstacku

Firmy pořád běží na PDF. Faktury přistávají v e-mailových schránkách zákazníků jako PDF. Smlouvy se podepisují, archivují a právně uznávají jako PDF. Dodací listy, nabídky, zprávy o shodě, směrnice — papíry, které z organizace odcházejí, jsou skoro vždycky v tomhle formátu, protože PDF je univerzální „finální podoba“ dokumentu. Platforma, která umí své vlastní stránky v Canvasu proměnit v PDF připravené k tisku, uzavírá smyčku, jež by jinak vyžadovala externí nástroj na generování dokumentů, samostatný systém šablon a údržbu rostoucí s každým dalším typem dokumentu.

Hlavním vstupním bodem je akce vytvoření PDF v tvůrci automatizací. Automatizace vykreslí stránku v Canvasu do PDF a pak udělá, co pracovní postup potřebuje dál — přiloží ho k e-mailu, uloží do úložiště souborů, pošle jako obsah webhooku, nebo všechno naráz. Stránka v Canvasu je zdroj, PDF je výstup a tahle akce je ten jeden krok, který je propojí. Na tom záleží, protože generování PDF tak není samostatná linka ani samostatný nástroj; je součástí téže plochy pro automatizace, kde žije zbytek pracovního postupu.

Uvnitř nabízí platforma dvě cesty vykreslování, protože různé dokumenty mají různé nároky. Vykreslení přes prohlížeč na pozadí vytvoří stránku v Canvasu tak, jak by ji zobrazil prohlížeč — s plnou podporou CSS, webovými fonty, obrázky, složitým rozvržením a pixelově přesnou věrností, na které u značkových dokumentů záleží. Faktury s přesným sloupcovým rozvržením, smlouvy s bloky záhlaví a zápatí, posudky s vloženými vizuály — všem prospívá cesta přes prohlížeč, protože moderní rozvržení chápe stejně jako kterýkoli webový prohlížeč. Vykreslení ze šablony je lehčí a rychlejší a hodí se na jednodušší dokumenty, které složité CSS nepotřebují: hromadné dopisy, standardní reporty, jednoduchá potvrzení. Obě cesty jsou k dispozici; tvůrce si vybere tu, která dokumentu sedí.

Nastavitelné okraje, záhlaví a zápatí jsou podporované na cestě přes prohlížeč. Čísla stránek dole. Značkové záhlaví nahoře na každé stránce. Vlastní okraje pro dokumenty, které musí sednout na konkrétní hlavičkový papír nebo na předepsanou šablonu. To všechno se nastavuje na úrovni stránky v Canvasu a přenáší se do výstupního PDF. U dokumentů, které musí vypadat přesně určeným způsobem — a faktury jsou učebnicový příklad — jsou právě ovládací prvky okrajů a záhlaví to, co dělá výstup skutečně, a ne jen přibližně připravený k tisku.

Podpora vzdálených obrázků je drobný, ale důležitý detail. Obrázky odkazované přes URL — hostované jinde, servírované z CDN, brané z mediální knihovny — se v PDF vykreslí správně. To má význam, protože obrazová složka dokumentu často leží jinde než dokument sám: logo na síti pro distribuci obsahu, obrázek produktu v mediální knihovně, grafika podpisu ze vzdáleného úložiště podkladů. Vykreslovač je vyhledá a vloží, aniž byste o tom museli vědět.

Vykreslování znaků je řešeno pečlivě. Vícejazyčný obsah — evropské jazyky s diakritikou, asijská písma, azbuka, arabština — se vykreslí správně za použití vhodných fontů. PDF vygenerované pro zákazníka, jehož jméno je v nelatinkovém písmu, by ho mělo mít ve výstupu čitelné; platforma se postará o výběr a vložení fontů, aby to vyšlo. Pro mezinárodní prostředí je právě tohle detail, díky kterému se generované dokumenty neztrapní.

Cílem pro PDF může být kterákoli stránka v Canvasu. Nad tímhle stojí za to se na chvíli zastavit. Tatáž stránka v Canvasu, kterou uživatel může vidět na obrazovce — se všemi vazbami na data, iterátory, podmíněným vykreslováním a vlastním rozvržením — se dá vykreslit do PDF. Tvůrce postaví dokument jednou jako stránku v Canvasu a ta slouží dvěma účelům: jako zobrazení na obrazovce pro uživatele, kteří si ho chtějí prohlédnout v aplikaci, a jako PDF výstup k doručení. Není žádná zvláštní PDF šablona, kterou by bylo potřeba udržovat; změny stránky v Canvasu se do PDF výstupu promítnou samy. Tohle sloučení je za celou dobu implementace opravdová úspora času.

Příloha e-mailu je nejčastější navazující krok. Automatizace u faktury vygeneruje PDF, přiloží ho k e-mailové šabloně a odešle e-mail zákazníkovi — to vše v jednom běhu automatizace. Protože e-mailové šablony i generování PDF žijí v témže tvůrci automatizací, je koordinace přirozená: e-mailová akce přijme PDF jako přílohu přímo, bez mezikroku s ukládáním. Zákazník dostane značkový e-mail s přiloženou vygenerovanou fakturou. Prostředí si celý postup zaznamená.

Stažení z rozhraní je druhá běžná cesta. Tlačítko u záznamu — nastavené přes tvůrce automatizací — může vykreslit PDF a předat ho uživateli ke stažení. Pro postupy, kde uživatelé potřebují dokument na požádání, ne až podle plánu, je to ta správná varianta. Uživatel klikne, dokument se vygeneruje, prohlížeč ho stáhne. Žádná zvláštní služba, žádná tokenizovaná URL, kterou by bylo potřeba někam posílat.

Uložení souboru jako následná akce uzavírá archivační smyčku. Vygenerované dokumenty lze odložit rovnou do úložiště souborů, k záznamu, kterého se týkají, nebo do obojího. U postupů pro dodržování předpisů, kde se každý vygenerovaný dokument musí uchovat, je automatické uložení rozdíl mezi ručním archivačním krokem a zabudovaným. Zapojí se přitom protokol aktivit, takže historie vygenerovaného dokumentu — vytvořený touto automatizací, odeslaný tomuto příjemci, uložený do této složky — je později dohledatelná.

Ukázka z praxe: PDF faktury. Tvůrce postaví stránku v Canvasu, která fakturu vykreslí — blok záhlaví se značkou, blok zákazníka navázaný na odkaz na zákazníka z faktury, tabulku položek navázanou na replikátor položek faktury, blok součtů s vypočítanými poli a zápatí s platebními pokyny. Automatizace spuštěná ve chvíli, kdy faktura přejde do stavu Finalizováno, vygeneruje z té stránky PDF, přiloží ho k e-mailu adresovanému zákazníkovi a uloží PDF do složky faktur v úložišti. Celé je to jen Canvas a automatizace — žádné vlastní šablony, žádná externí služba.

Ukázka z praxe: týdenní reporty. Naplánovaná automatizace běží každé pondělí ráno, dotáže se na data za poslední týden, vykreslí souhrnnou stránku v Canvasu do PDF a rozešle ji na distribuční seznam. Stránka v Canvasu obsahuje grafy (dynamické oblasti), seskupené tabulky (s výpočty) i vysvětlující text. Příjemci najdou ve schránce profesionální report; ten odráží aktuální data k okamžiku, kdy byl vygenerován; celý mechanismus se nastaví jednou a běží pořád.

Pro prostředí, jejichž provoz plodí významné množství papírování — fakturace, smlouvy, reporting, dodržování předpisů — bývá generování PDF tou funkcí, která odstraní poslední kus samostatného nástroje. Ve spojení s Canvasem, automatizacemi, e-mailem a úložištěm souborů je to všechno, co potřebujete k vytvoření a doručení dokumentů, jež dřív vyžadovaly vyhrazenou platformu na automatizaci dokumentů. Tohle sloučení je potichu jedním z nejcennějších přínosů celé sady funkcí.