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

Subscribe
Upozornit na
guest
8 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
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.

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.