Je dois coder un script PHP qui me permettrait de générer un fichier pdf qui affiche une carte d'identité de membre (quelque chose comme une carte de crédit utilisée pour s'identifier) à une certaine résolution. Permettez-moi d'expliquer:
J'ai le plan de base de la carte au format de fichier png. Le script doit être associé au nom et à l'anniversaire d'un membre ainsi qu'à une publication en série. Jusqu'à présent, pas de problème - il y a beaucoup de bonnes bibliothèques PHP qui fonctionnent.Création dynamique d'une carte d'identité de membre en pdf en utilisant PHP?
Mon problème est de faire en sorte que le pdf résultant (l'image générée de la carte, pour être précis) rencontre une certaine résolution (de préférence 300dpi), de sorte que l'impression serait correcte.
Des idées?
EDIT
Je l'ai résolu en utilisant la bibliothèque TCPDF qui vous permet de l'échelle des images à une certaine résolution.
obtenir ici: http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf
EDIT @Don
require_once(dirname(__FILE__).'/tcpdf/config/lang/eng.php');
require_once(dirname(__FILE__).'/tcpdf/tcpdf.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT,
true, 'UTF-8', false);
// set document information
$pdf->SetCreator('SO-youth');
// remove default header/footer
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
//set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
//set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// set font
$pdf->SetFont('courier', '', 10);
// add a page
$pdf->AddPage();
// set JPEG quality
$pdf->setJPEGQuality(100);
$cred = <<<EOT
<p>
<b>{$userdata->first_name} {$userdata->last_name}</b><br/>
<span style="font-size: 80%;">{$userdata->geburtstag}</span>
</p>
EOT;
$id = <<<EOT
<span style="font-size: 60%;">{$userdata->club_id}</span>
EOT;
$pdf->Image(dirname(__FILE__).'/img/clubcard.jpg',
10, 10, 85.6, 53.98, null, null, null, false, 300);
$pdf->writeHTMLCell(60, 15, 50.5, 20.5, $cred);
$pdf->writeHTMLCell(50, 20, 77, 50.5, $id);
//Close and output PDF document
$pdf->Output($userdata->filename, 'F');
Cela ferait certainement l'affaire, à moins que la lib ne soit pas et ne puisse pas être installée (hoster low cost: /). – aefxx