Ovo mi je prva tema, a nadam se ne i poslednja. Svaka pomoc je dobrodosla-spremna sam sve da probam :)
Najpre, zelim da kazem da sam videla da slicna tema vec postoji, ali da ona ne resava moj problem. Pa da pocnemo.
Ono sto zelim da uradim jeste da se u HTML formi unese odredjeni parametar. Klikom na dugme "Submit" poziva se PHP skripta, koja taj parametar smesta na odredjene koordinate u .pdf fajl.
Kod HTML-a:
<!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" />
<title>Untitled Document</title>
</head>
<body>
<form method="post" action="skripta.php">
First Name:<input type="text" size="12" maxlength="12" name="Fname">:<br />
<input type="submit" value="submit" name="submit"><br />
</form><br />
</body>
</html>
Kod PHP-a:
<?php
require_once('libs/fpdf.php');
require_once('libs/fpdi.php');
require_once('libs/makefont/makefont.php');
$pdf = new FPDI();
$pdf->AddPage();
$pdf->setSourceFile('pdf_dokument.pdf');
$tplidx = $pdf->importPage(1);
$pdf->useTemplate($tplidx);
$page_dimensions = $pdf->getTemplateSize($tplidx);
$pdf->AddFont('font','','times.php');
$pdf->SetTextColor(0,123,240);
$array=array("name"=>$_POST['Fname'],
//.......ostale varijable koje uzimam iz html-a
);
$pdf->SetFont('font','', 9);
$pdf->SetXY(100, 100); $pdf->Write(0, $array["name"]);
$pdf->Output();
?>
Problem nastaje kada korisnik na html strani unese svoje ime na cirilici ili kada unese latinicna slova š, č, ć...Trenutni font koji koristim je Times New Roman. Cirilicu prikazuje kao "ñàäàœ", a nasa latinicna slova prikazuje HTML kodom (š prikaze kao š). U slucaju da font prebacim na cirilicni (koristila sam neki mcswis.ttf), ako korisnik unese latinicu na html strani takodje prikazuje kako valja, a nepoznata slova prikazuje kao kvacice i slicno, a cirilicu prikazuje kao kvadratice.
Ono sto sam pokusala do sad jeste da u PHP ubacim header, koji koristi isti charset kao i html, ali nema apsolutno nikakve promene.
<?php header("Content-Type: text/html; charset=utf-8", true);
?>
Ono sto ja mislim da moze biti problem, jeste samo dodavanje fontova. Za to sam koristila tutorial na ovoj adresi. Ukratko .ttf se prebaci u .afm, a onda se taj .afm uz odgovarajuci enkoding pretvori u font.php uz pomoc jedne linije koda:
MakeFont('c:\\windows\\fonts\\font.ttf','font.afm','cp1252');
Ovo navodim samo iz razloga sto smatram da je mozda tu greska, iako nisam sigurna.
Eto, to je citav problem.
Ima li ideja?