IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: generovani pdf z html kodu - fpdf.php + html2pdf.php

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:12.12.2019 14:52

Zkousim rozchodit konverzi html do pdf, ale pise mi to
( ! ) Fatal error: Uncaught Error: Call to undefined method FPDF::PutMain­Title() in C:\xampp\htdoc­s\www\ev_projek­tu3\inc\html2pdf­.php on line 91
( ! ) Error: Call to undefined method FPDF::PutMain­Title() in C:\xampp\htdoc­s\www\ev_projek­tu3\inc\html2pdf­.php on line 91

FPDF: https://github.com/Setasign/FPDF
HTML2PDF: http://www.fpdf.org/…script53.php (mam o neco novejsi verzi, ale to nehraje roli)

Zkusil jsem:

//              require_once 'inc/fpdf182/fpdf.php';    // php pdf generator define('FPDF_VERSION','1.82');
                require_once 'inc/html2pdf.php';        // html to pdf convertor




                $url        = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];


                $pdf_url    = $url;


                preg_match('~<h3>([^<]*?)</h3>~', $content, $matches);
                $pdf_title  = isset($matches[1]) ? $matches[1] : '';
                $pdf_author = '';
                $pdf = new createPDF(
                        $content,   // html text to publish
                        'pdf_title',
                        'pfd_url',
                        'pdf_author',
                        time()
                        );
                $pdf->run();
//              echo $pdf->Output('S');
                exit;

V Hulanove scriptu jsem udelal uz par zmen, ale stale se mi nedari to rozchodit.

//require_once('fpdf­.php');
require_once 'inc/fpdf182/fp­df.php'; // php pdf generator

// $pdf=new PDF('P','mm',­'A4',$this->title,$this->articleurl,false);
$pdf=new FPDF('P','mm'­,'A4',$this->title,$this->articleurl,false);
// $pdf->Open();

zajimave je, ze FPFD funkce projdou
$pdf->SetAuthor
ale ty z hulanova Extendu nee.
$pdf->PutMainTitle($this->_convert($this->title));
//class HTML2PDF extends FPDF

Chci docílit: A protoze classum a propojovani pres extendy vubec nerozumim, tak bych chtel poradit, co delam spatne? Jestli jsem na neco nezapomnel v kodu?

Na te strance ma jen tohle, z kodu a dal uz si nedela s nicim starost... A jeste je tam html, ale to asi nema vliv.

require('html2pdf.php');

if(isset($_POST['html']))
{
    $pdf = new createPDF(
        $_POST['html'],   // html text to publish
        $_POST['title'],  // article title
        $_POST['url'],    // article URL
        $_POST['author'], // author name
        time()
    );
    $pdf->run();
}
 
Odpovědět
12.12.2019 14:52
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:12.12.2019 14:55

Jo, tu html2pdf mam tuhle verzi
https://github.com/…html2pdf.php
Ale, myslim, ze i ta puvodni hulanova by delala totez.

 
Nahoru Odpovědět
12.12.2019 14:55
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:12.12.2019 15:20

Ha, ono se to samozrejme musi napsat takto:

//              $pdf=new PDF('P','mm','A4',$this->title,$this->articleurl,false); // puvodni
//              $pdf=new FPDF('P','mm','A4',$this->title,$this->articleurl,false); // muj pokus
                $pdf=new HTML2PDF('P','mm','A4',$this->title,$this->articleurl,false); // spravne

Ted uz mi to FF otevira jako pdf, to uz nejak dal doupravim, treba diakritiku :)

Editováno 12.12.2019 15:21
Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
12.12.2019 15:20
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:13.12.2019 12:26

Ha, jeden problem se sice vyresil, ale nejsem schopen tam dostat spravne kodovani znaku :)
Program mam v utf-8.
Co jsem vysondoval, tak to asi pracuje s Windows-1252 nebo UTF-16BE.
No, to je fuk. At uz jsem content zkodoval do ceho chtel, vzdycky bylo kodovani spatne. Z fpdf.org jsem si jeste stahl verze tFPDF, sFPDF (a mozna jsem zkousel i mFPDF?), no, a nic, at uz to zakoduji, jak chci, porad nejaky znak je spatne. Ja tam stejne to uft potrebuji, protoze se jedna o evidenci projektu a autori maji silene znaky v diakritice, polaci, nemci a tak.

Nejlepsi stav, co se mi podaril je
ěščřžýáíé
?š??žýáíé
Dota?ní program FRVŠ - Fond rozvoje vysokých škol
Gabriel Török
Cili, nejaka diakritika tam je, ale ne uplne vsude. A to jsem neykousel polske znaky :)

require_once 'inc/sfpdf/sfpd­f.php'; // php pdf generator - utf-8
...
return mb_convert_en­coding($str, "Windows-1252", "UTF-8"); // $str je html content, ktery prebira dekoder html do pdf

 
Nahoru Odpovědět
13.12.2019 12:26
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.