1 / 10

Generovanie výstupov z informačného systému ústavu vo formáte PDF Vypracoval: Bc. Jozef Krivák

SLOVENSKÁ TECHNICKÁ UNIVERZITA Fakulta chemickej a potravinárskej technológie Ústav informatizácie, automatizácie a matematiky. Generovanie výstupov z informačného systému ústavu vo formáte PDF Vypracoval: Bc. Jozef Krivák Vedúci semestrálnej práce: Ing. Ľuboš Čirka, PhD. Aplikácia FPDF.

yen
Download Presentation

Generovanie výstupov z informačného systému ústavu vo formáte PDF Vypracoval: Bc. Jozef Krivák

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SLOVENSKÁ TECHNICKÁ UNIVERZITAFakulta chemickej a potravinárskej technológieÚstav informatizácie, automatizácie a matematiky Generovanie výstupov z informačného systému ústavu vo formáte PDF Vypracoval: Bc. Jozef Krivák Vedúci semestrálnej práce: Ing. Ľuboš Čirka, PhD.

  2. Aplikácia FPDF • Aplikácia FPDF pre PHP maximálne zjednodušuje generovanie PDFiek a ponúka obrovské množstvo možností. Táto aplikácia zabezpečí vygenerovanie PDFka čisto z prostredia PHP, nepotrebuje žiadne neštandardné knižnice, ktoré zväčša na komerčných zdieľaných serveroch nie sú k dispozícií. • FPDF sa dá stiahnuť zo stránky http://www.fpdf.org a po rozbalení je bez nutnosti nejakej konfigurácie hneď funkčná. <?php require('fpdf.php'); $pdf=new FPDF(); $pdf->addPage(); $pdf->SetFont('Arial','B',16); $pdf->Text(20,30,'Hello World'); $pdf->Output(); ?>

  3. Hlavné funkcie FPDF • Možnosť premeriavania a formátovania stránok • Vkládanie hlavičky a päty • Automatické zlomy strán • Automatické orezávanie riadkov a rozdeľovanie textu • Podpora obrázkov • Farby • Linky

  4. Tlačidlo ako odkaz pre PDF aplikáciu <input type='button' name='send' value='".get_string('showPDF').“’ onclick='this.form.create_pdf.value=1;this.form.action.value=1; this.form.submit();' /><input type='hidden' name='create_pdf' value='' /> <?php if($_GET['create_pdf']==1) { include_once"iam_function_krivak.php"; exit; } ?>

  5. Štruktúra rozvrhu • Funkcia „Require( )“ - umožňuje do svojho PHP skriptu načítať súbor, ktorý obsahuje prakticky čokoľvek (blok príkazov PHP, obyčajný text, funkcie,...). • Funkcia „new FPDF( )” - slúži na inicializáciu triedy súboru • Funkcia „AddPage( )“ – vytvára novú stránku • Funkcia „Output( )“ – uzaviera dokument a posiela ho na žiadanú adresu • Funkcia „AddFont( )“ - Funkcia importuje font typu „TrueType“ alebo „Type1“ a pripraví ho k použitiu • Funkcia „SetFont( )“ - Určí druh fontu, ktorý chceme práve použiť • Funkcia „Cell( )“ – vykresľuje zadaný text do blokov • Funkcia „SetLineWidth( )“ - definuje hrúbku vykresľovaných čiar

  6. $spojenie = @mysql_pconnect("localhost", "root"); if (!$spojenie) { echo "Nepodarilo sa pripojit k databaze."; exit; } $db = @mysql_select_db("iam"); if (!$db) { echo "Nepodarilo sa nacitat tabulky."; exit; } @mysql_query("SET CHARACTER SET utf8"); @mysql_query("SET NAMES 'utf8'"); @mb_internal_encoding("UTF-8"); Funkcia „timetable“ využíva podmienky zabezpečujúce správne nastavenie žiadaných údajov a obsahuje hlavný „Select“ na uloženie údajov Funkcia „course_teachers“ keďže „Select“ zapíše pod hlavičkou „timetable_lector“ identifikačné čísla vyučujúcich, táto funkcia ich prepisuje na samotné mená Premenná „cfg_day_array“ rieši rovnaký problém ako funkcia „course_teachers“, pričom nahradzuje čísla dní za ich pomenovania MySQL databáza a potrebné funkcie

  7. Tabuľka „MultiCell“ Hlavným cieľom takejto tabuľky je dynamicky prepočítavať výšku jednotlivých blokov s rôznym počtom riadkov v závislosti od dĺžky vykresľovaného textu. Prepočítavajú sa vždy bloky zoradené za sebou, čiže v našom prípade šesť blokov, ktoré spolu tvoria jeden riadok tabuľky. Za výslednú výšku sa vždy berie výška najvyššieho bloku a ostatné bloky si podľa neho svoju výšku zmenia. Celý tento skript ako aj jeho použitie a ukážka sú voľne stiahnuteľné na www.fpdf.org. • Funkcia „MultiCell( )“ umožňuje vykreslenie textu do bloku pričom v prípade dlhšieho textu ako šírka bloku ho zalomí a rozdelí do riadkov

  8. Použitie funkcií • Pre správne vykresľovanie všetkých údajov je potrebné všetky vyššie spomenuté funkcie implementovať do nášho skriptu. • Po začlenení týchto funkcií môžme konečne včleniť jednotlivé údaje z databázy do nášho PDF dokumentu. • Uložené údaje do premennej „querry“ za pomoci „Select“ z funkcie „Timetable“ prekonvertujeme do poľa a môžeme ich používať, vkladať a cykliť vo výslednom dokumente. • V cykle si na konci ako prvé nastavíme jednotlivé šírky našich „MultiCell“ blokov pomocou funkcie „SetWidths“, následne ich pomocou funkcie „Row“ vyplníme. $pdf->SetWidths(array(20,77,18,20,20,35)); $pdf->Row(array($pole[$i]['timetable_start'].":00 - ".$pole[$i]['timetable_stop'].":00", iconv('UTF-8','CP1250',$pole[$i]['course_title']), iconv('UTF-8','CP1250',$pole[$i]['timetable_room']), iconv('UTF-8','CP1250',str_replace(",",", ",$pole[$i]['timetable_group'])), iconv('UTF-8','CP1250',$pole[$i]['timetable_class']), iconv('UTF-8','CP1250',course_teachers($pole[$i]['timetable_lector']))));

  9. Konečný vygenerovaný PDF dokument

  10. Ďakujem za pozornosť

More Related