Kreator PDF

0

Witam serdecznie!
Mam dziwny problem, bynajmniej tak myślę, a mianowicie przy tworzeniu dokumentu PDF w nowej karcie przeglądarki nie wyświetlają się obrazki w footerze. Gdy sprawdzam stronę lokalnie i tworzę PDF jest ok, jednak gdy wrzucę pliki na serwer to nie wyświetlają się obrazki w footerze. W headerze i w treści PDF obrazki się wyświetlają.
Z początku do tworzenia PDF używałem TCPDF, jednak tam nie wyświetlały mi się obrazki w footerze i treści (do wyświetlania obrazków służyła funkcja image() ), więc zmieniłem go na DOMPDF. DOMPDF udostępnia mi pełen wachlarz html i css, więc tutaj zamiast wykorzystywać funkcję image(), mogę wrzucać obrazki poprzez <image>. O to kod:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

<title>Header and Footer example</title>

<style type="text/css">

</style>
  
</head>
<body>

<div id="header">
	<img src="gfx/pdf_images/robod_logo.png"></td>
</div>

<div id="footer">
  	<img style="width:40%;position:absolute;left:1px;bottom:80px" src="gfx/pdf_images/info.png"></td>
  	<img style="width:15%;position:absolute;left:320px;bottom:70px" src="gfx/pdf_images/safe.png"></td>
  	<img style="width:35%;position:absolute;right:1px;bottom:230px;z-index:3" src="gfx/pdf_images/stopka.png"></td>
</div>

<div style="height:400px">
	<img style="position:absolute;top:50px;left:1px;" src="media/towary/_std/brak.jpg">
	<div class="info" style="position:absolute;top:50px;right:1px;width:400px;height:200px">
		<span style="font-size:18px;font-weight:bold;text-align:left;"><?php echo $product['krt_nazwa'] ?></span><br/><br/>

		<span class="name"><?php echo $kod ?>: </span><?php echo $product['krt_kod']?><br/>
		<span class="name"><?php echo $kolor ?>: </span><?php echo $kolory?><br/>
		<span class="name"><?php echo $rozmiar ?>: </span><?php echo $rozmiary?><br/><br/>

		<span class="name"><?php echo $cena ?> Brutto: </span><?php echo $ceny['cenabrutto']?> zł<br/>
		<span class="name"><?php echo $cena ?> Netto: </span><?php echo $ceny['cenanetto']?> zł<br/><br/><br/><br/><br/>
	</div>
</div>
<div style="z-index:2">
	<?php echo $prodData[0]['krt_opis']?>
</div>

</body>

</html>

<?php
$html = ob_get_clean();
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream('sample.pdf',array('Attachment'=>0));
?>

Czym to może być spowodowane? Czego mogę spróbować, aby obrazki w footerze działały? Nakombinowałem się już trochę, bardzo proszę o pomoc.

Pozdrawiam NieZnasz

0

sprawdź duże/małe znaki w nazwach folderów i plików (ORAZ ich rozszerzeń)

0

Chciałbym żeby to było to :P Jednak niestety nie :)
To jest dziwna sprawa... Umieściłem logo z headera do footera i się wyświetliło. Jednak gdy otworzyłem grafikę logo w photoshopie i zmieniłem jej zawartość na tą z footera to przestało się wyświetlać. Stworzyłem kilka przykładowych plików aby sprawdzić, które będą działać. Zadziałał plik w takich rozmiarach jak logo z headera jednak gdy go wrzuciłem na serwer to wszystkie 3 pliki z footera przyjęły grafikę tego jednego, który wrzuciłem i to z odwróconymi kolorami chociaż nie mają ze sobą żadnego powiązania.
Background-image też działa tylko na localu.

Nie rozumiem tej Magii ;]

1

Uroki prób generowania PDF w PHP. Chyba nie ma ani jednej nie-wadliwej biblioteki.

Ja raczej skorzystałbym z zewnętrznego narzędzia typu wkhtmltopdf, choć wiem, że nie zawsze możemy to zainstalować.

0

Kurde już dawno powinienem mieć to zrobione. Korzystałem z TCPDF teraz się przeniosłem na ten DOMPDF i straciłem i tak zbyt dużo czasu. A najlepsze, że wszystko działa na localu :) Zaraz lookne tego wkhtmltopdf.

0

Miałem prolemy z tym kreatorem, który podałeś.
Zmieniłem kreator na html2pdf. Obrazki już widać zarówno na localu i ftp, style działają poprawnie można ładnie wszystko wypozycjonować. Jednak problem pojawia się z polskimi znakami. Defaultowo w kodzie ustawiona jest czcionka helvetica, która nie posiada polskich znaków. W folderze fontsów jest dostępna również czcionka Dejavusans, więc zamieniłem helve na Dejavusans. Polskie znaki zaczęły działać poprawnie na localu i na ftp również. Pojawił się jednak problem: informacje, które zasysam z bazy i wyświetlam w PDF, posiadające polskie znaki, są zastępywane "?" (na localu działają poprawnie). Jednak polskie znaki wpisane z ręki w kod działają poprawnie.


EDIT
Brakowało tego:

mysql_set_charset('utf8');
mysql_query("SET NAMES 'utf8'");

Także śmiało polecam html2pdf, wypadł najlepiej z tych, które wymieniałem wcześniej. Mam nadzieję, że temat się komuś przyda.
Pozdrawiam !

1 użytkowników online, w tym zalogowanych: 0, gości: 1