Potřebujete-li na webu s redakčním systémem Drupal generovat nějaké výstupy do PDF, nemusíte se spoléhat jen na serverové technologie jako je wkhtmltopdf. Jde to i bez něj. S pomocí příslušných modulů lze generovat PDF soubory i na běžném hostingu, na kterém běží Drupal.

Tento článek prosím berte jen jako tip na příslušné moduly, nikoli jako kompletní návod, jak tuto funkcionalitu postavit od A do Z. Podobný návod bych v případě zájmu publikoval v sekci Drupal na webu Maxiorel.cz. Zde pouze několik odstavců k zajímavým modulům pro generování PDF v Drupalu.

Čím generuji PDF v Drupalu 7

Už před dlouhou dobou jsem nasazoval na některé weby modul Printer, email and PDF versions. Nemohu říci, že by nefungoval spolehlivě. Jeho úkolem je generování tiskových verzí článků a ty umí případně převést do PDF s využitím některé PHP knihovny, kterou si do Drupalu dokopírujete. Podporuje jich celou řadu.

Když jsem nedávno stavěl web generující speciální výstupy na základě entit postavených na Views a ECK, potřeboval jsem něco lepšího. Moje entity nejsou uzly, navíc se skládají z několika různých položek do podoby výstupní sestavy, jakéhosi reportu. A zatímco na obrazovce potřebuji zobrazit více údajů, do tisku a do PDF jich potřebuji dostávat méně.

Z toho důvodu jsem sáhl po velice povedeném modulu PDF Export. Obsahuje jednak podporu pro konverzi uzlů a výpisů Views, ale také určité API, kterým můžete na webu vykreslit vlastní exportovací tlačítko nebo odkaz. To je pak po kliknutí schopno převést do PDF jakoukoli část stránky, kterou jste schopni označit jQuery selectorem. A s možností pohodlné konfigurace knihovny mPDF, kterou tento modul pro generování PDF v Drupalu využívá, je to přímo ideální. Pár drobných problémů se najde, jako nemožnost detailně upravovat vlastnosti textu v tabulkách a odrážkách, ale to jsou spíše detaily.

PDF v Drupalu 8

Před pár dny se objevila nová verze modulu TCPDF, který rovněž slouží ke generování PDF v Drupalu. Zmíněná nová verze podporuje Drupal 8 a více se o ní rozepisuje její autor, Dávid Segesvári.

A na závěr ještě tip na další modul, který opět slouží k tvorbě PDF z obsahových uzlů. Stačí zadat URL adresu v příslušném tvaru. Modul se jmenuje PDF using mPDF.