Více o operací očí se dozvíte na VášZrak.cz, stejně tak o očních vadách. Portál svět na kolenou je realita! Tyto projekty zastřešuje studio DesignFLOW.cz spolu s Jirkou Daňkem a Tomášem Smetkou.
Jako první budeme potřebovat mPDF knihovnu, tu si stáhněte zde. (mPDF v5.0 Full installation - Download (ZIP file 10.1MB). Dále si v rootu webu (vedle souboru index.php) vytvořte složku s názvem „pdf“ a knihovnu) tam nakopírujte.
V rootu si vytvoříme soubor s názvem „pdf.php“ a vložíme do něj tento kód (nebo si ho níže stáhneme):
<?php
/*---- inicializace jadra ----*/
define('_indexroot', './');
require(_indexroot."core.php");
/*---- vystup ----*/
if(_publicAccess(!_notpublicsite) and isset($_GET['id'])){
$id=intval($_GET['id']);
$clanek=mysql_query("SELECT * FROM `"._mysql_prefix."-articles` WHERE id=".$id);
if(mysql_num_rows($clanek)!=0){
$clanek=mysql_fetch_array($clanek);
$artlink=_linkArticle($id);
$url=_url."/".$artlink;
define('_indexOutput_url', $artlink);
/*---- obrazek perexu ----*/
$path = _indexroot.'upload/img/perex/'.$id.'.';
if(file_exists($path.'png'))
{$path .= 'png';}
elseif(file_exists($path.'jpg'))
{$path .= 'jpg';}
elseif(file_exists($path.'gif'))
{$path .= 'gif';}
else {$path = null;}
/*---- konverze ----*/
require("pdf/mpdf.php");
$konverze = new mPDF('utf-8','A4');
$konverze->useOnlyCoreFonts = true;
$konverze->SetAutoFont(0);
$styl = file_get_contents('templates/'._template.'/style/pdf.css');
$telo_clanek = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=UTF-8' /></head><body><h1>".$clanek['title']."</h1> <table cellspacing='5'><tr><td valign='top'>".(!is_null($path)?'<img src="'.$path.'" />':'')."</td><td valign='top'>"._parseHCM($clanek['perex'])."</td></tr></table> "._parseHCM($clanek['content'])."<p style='text-align: right'>Autor článku "._linkUser($clanek['author'],0,1,0).", článek byl napsán "._formatTime($clanek['time']).".<br /> URL článku: <i><a href='".$url."'>".$url."</a></i>.</p></body></html>";
$konverze->WriteHTML($styl,1);
$konverze->WriteHTML($telo_clanek,2);
$jmeno_souboru = ""._anchorStr($clanek['title']).".pdf";
$konverze->Output($jmeno_souboru,"D");
}}
?>
K PDF dokumentu se připojuje také styl. Ve složce /templates/Váš_Motiv/style/ si vytvořte soubor „pdf.css“ a vložte do něj tento kód:
body {color: black; font-family: "Trebuchet MS"; font-size: 14px; background-color: #FFFFFF; text-align: justify;}
h1 {font-size: 17px;}
h2 {font-size: 16px;}
h3 {font-size: 14px;}
h1,h2,h3 {display: block; border-bottom: 1px solid #FF4500; font-weight: normal; color:#FF4500;}
p {line-height: 140%; text-align: justify; font-size: 14px}
a {text-decoration: underline; color: black;}
/* systemove zpravy */
.message1, .message2, .message3 {margin: 5px 0 20px 0; padding: 20px 20px 20px 70px; background-position: 30px 10px; background-repeat: no-repeat; font-size: 14px !important;}
.message1 ul, .message2 ul, .message3 ul {margin: 0; padding: 5px 0 0 15px;}
.message1 {background-image: url("/templates/Váš motiv/images/icons/info.png");}
.message2 {background-image: url("/templates/Váš motiv/images/icons/warning.png");}
.message3 {background-image: url("/templates/Váš motiv/images/icons/error.png");}
Nakonec vložíme do slouboru /require/article.php před generování komentářů tento kód:
$content.="<a href='pdf.php?id=".$id."'>Stáhnout článek v PDF formátu</a>";
Autor článku je Tomáš Smetka, vydáno 15/12/2010, přečteno 4673x Provozujeme také VášZrak.cz a DesignFLOW.cz |
Komentáře
mám tři dotazy:
1) Bude mi to fungovat v SL XXL
2) mPDF mám zkopírovat obsah složky nebo i se složkou
3) a co přesně mám dát do toho article.php
Děkuji za odpověď
2. v rootu je složka pdf a v ty je obsah archivu
3. Mate to v clanku napsane
$content.="<a href='pdf.php?id=".$id."'>Stáhnout článek v PDF formátu</a>";
HTML contains invalid UTF-8 character(s)
mPDF error:
$content.="<a href='pdf.php?id=".$id."'>Stáhnout článek v PDF formátu</a>";
mám ne správném místě.
Mám to takto
if(_printart){$content.="\n<p><a href='"._indexroot."printart.php?id=".$id."' target='_blank'><img src='"._templateImage("icons/print.gif")."' alt='print' class='icon' /> ".$_lang['article.print']."</a></p>\n";}
$content.="<a href='pdf.php?id=".$id."'>Stáhnout článek v PDF formátu</a>";
//komentare
if($query['comments']==1 and _comments){
require_once(_indexroot.'require/functions-posts.php');
$content.="<a href='pdf.php?id=".$id."'>Stáhnout článek v PDF formátu</a>";
$content.=_postsOutput(2, $id, $query['commentslocked']);
}
Takto to bude lepší:
$content.="<a href='pdf.php?id=".$id."'>Stáhnout článek v PDF formátu</a><br /><br />";
if(_printart)
{$content.="\n<p><a href='"._indexroot."printart.php?id=".$id."' target='_blank'><img src='"._templateImage("icons/print.gif")."' alt='print' class='icon' /> ".$_lang['article.print']."</a></p>\n";}
//komentare
if($query['comments']==1 and _comments){
require_once(_indexroot.'require/functions-posts.php');
$content.=_postsOutput(2, $id, $query['commentslocked']);
}
Jinak je to na všechny SL (XXL, 7.4.1 i 7.4.2, na starší nevím, záleži na db).