Přejít k navigační liště

Zdroják » Zprávičky » Generátor PDF v JavaScriptu? Ale ano, máme tu jsPDF

Generátor PDF v JavaScriptu? Ale ano, máme tu jsPDF

Cíl projektu jsPDF zní na první pohled neuvěřitelně: generování PDF pomocí JavaScriptu. Nicméně jak autor projektu James Hall před třemi dny sám na Twitteru poznamenal: „Generování PDF na klientovi pomocí JavaScriptu není tak nemožné, jak jsem si původně myslel“. A skutečně – jeho výsledek si můžete vyzkoušet na jednoduchém demu. V tuto chvíli funguje jen v Opeře, Safari (včetně iPhone) a Firefoxu 3.5beta.

Projekt je starý (resp. mladý) teprve několik dní, hlavní knihovna má slabých 300 řádků a pokrývá zatím jen opravdu minimální množinu možností formátu PDF. James ale slibuje, že na přidání dalších funkcí se můžeme těšit v brzké době.

Ačkoliv by se snad mohlo zdát, že byl překonán další mezník a že server-side generátory PDF to mají do budoucna spočítané, není tomu tak. Projekt jsPDF pro zobrazení vygenerovaného PDF dokumentu totiž používá protokol data:, který Internet Explorer podporuje až od verze osm a navíc pouze s omezenou délkou řetězce na několik málo kilobytů (ostatní prohlížeče mají limit v rozsahu megabytů). To pro úspěšnost celého projektu do budoucna bude pravděpodobně nepřekonatelný problém. Vygenerovat PDF na klientovi sice určitě půjde, ale jak jej spolehlivě nabídnout k zobrazení prohlížeči? Že by další „neřešitelný“ problém, který čeká na geniálního řešitele?

(Zdroj: Ajaxian)

Komentáře

Odebírat
Upozornit na
guest
8 Komentářů
Nejstarší
Nejnovější Nejvíce hlasů
Joelp

Funguje i ve Firefoxu 3.0 (3.0.8)

Joelp

Ve Win mi to sice uloží jako *.part, ale po přepsání koncovky to Adobe otevře v pořádku. V Linuxech mi to FF pošle rovnou do Adobe. Na obou je FF 3.0.8. Možná nějaký problém v MACu?

Timy

Já to s FF 3.0.9 na WinVista normálně stáhl a otevřel.

Joelp

Ve Win se mi to taky jen stáhne (se špatnou koncovkou). V Linuxu mi to ale otevře v Adobe. Nebude to nastavením prohlížeče? (Win mám jen na test s FF v defaultu).

Dlouhán

Zkusil jsem ve FF 3.0 (3.0.9) a po kliknutí na Run Code se změnila adresa na:
data:application/pdf;base64,JVBERi0xLjMKMy… (zkráceno)
Dal jsem uložit stránku , FF navrhl název (application_pdf objekt).pdf, který jsem odsouhlasil.

Opera mi po kliknutí na Run Code ihned nabídla PDF k uložení, v Chrome se mi PDF zobrazil pomocí Adobe Readeru.

dstancl

Testováno v Epiphany (jádro Gecko 1.9) a bez problémů se nabídlo otevřít/uložit.

Začal jako projekt studentů Matfyzu. Český BIRD dnes pomáhá řídit provoz na největších internetových uzlech

Internet drží pohromadě i díky místům, kde se propojují sítě poskytovatelů připojení, cloudů nebo videoslužeb. S předáváním informací o tom, kudy jsou jednotlivé sítě dostupné, jim ve Frankfurtu, Londýně i Amsterdamu pomáhá český BIRD. Začal jako studentský projekt, po první verzi z roku 2000 léta spíš dřímal a soustavný vývoj obnovil až CZ.NIC. Ve své úloze uspěl tak výrazně, že největší uzly nakonec začaly platit vývoj konkurenčního softwaru, aby nebyly závislé jen na něm.

WebSocket: Jak dostat webovou aplikaci do reálného času

Chat, živé notifikace, společná úprava dokumentu nebo průběžně aktualizované kurzy. Uživatelé dnes čekají, že se webová aplikace změní ve chvíli, kdy se změní data, a ne až po stisknutí klávesy F5. Protokol WebSocket je nejrozšířenější způsob, jak mezi prohlížečem a serverem vytvořit trvalý obousměrný kanál. V článku se podíváme, jak funguje pod kapotou, jak ho použít v prohlížeči i na serveru a na co si dát pozor při nasazení do produkce.

Zahoďte knihovny: dropdowny, tooltipy a přechody stránek jen s HTML a CSS

Rozbalovací menu, tooltip, modální okno a plynulý přechod mezi stránkami. Ještě nedávno čtyři důvody, proč do projektu přidat několik knihoven a desítky kilobajtů JavaScriptu. V roce 2026 už to všechno zvládne prohlížeč sám. Ukážeme si, jak na to s Popover API, CSS anchor positioningem a View Transitions, a také kde mají své limity.