Portál AbcLinuxu, 10. května 2025 04:38
AddFont('Arial','','arial.php'); $pdf->AddPage(); $pdf->SetFont('Arial',''); $vysledek = mysql_query("select first_name, last_name from users where user_id='".$_SESSION['user_id']."'"); while ($zaznam = mysql_fetch_object($vysledek)): $first_name_text=$zaznam->first_name." "; $last_name_text=$zaznam->last_name." "; $pdf->Cell(60,8, iconv("UTF-8", "ISO-8859-2", '.$first_name_text.'),1,1); $pdf->Cell(20,8, iconv("UTF-8", "ISO-8859-2", '.$last_name_text.'),1,1,'R'); endwhile; $pdf->Output(); ?>
require('../fpdf.php'); mysql_pconnect('localhost','xxx','xxx'); mysql_select_db('pokus'); $pdf=new FPDF();
Tvorba PDF souborů je s FPDF skutečně radost, včetně grafiky, tabulek a podobných vylomenin. I odesílání příloh mailem jsem zvládl, ovšem do chvíle, než bylo nutné generovat PDF přílohy k mailu na serveru, kde není povolen zápis na disk. Veškeré pokusy skončí hláškou
FPDF error: Unable to create output file: test.pdf
Řešil někdo něco podobného? Někde jsem zahlédl způsob, který snad nepotřeboval pro vložení přílohy soubor uložený na disku, ale nedokážu ho znova najít a ani si nejsem jist, jestli využíval zrovna FPDF ...
$pdf->Output('','S');
Při vytváření přílohy pomocí
$pdfstring = $pdf->Output('','S');
a následného
$attach_obsah = chunk_split(base64_encode($pdfcontent));
se přílohy chovaly jako poškozené a skutečně jim fyzicky chybělo několik posledních bajtů. Pomohlo odebrání fontů a rastrových obrázků, ale ty jsou nutné pro čitelnost respektive použitelnost PDF výstupů. Nakonec se ukázalo, že k poškození příloh dochází až v Thunderbirdu a na serveru jsou v pořádku ...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.