I am using FPDF with PHP Barcode for creating a PDF-attached mail from form with the below code:
// -------------------------------------------------- //
// USEFUL
// -------------------------------------------------- //
class eFPDF extends FPDF{
function TextWithRotation($x, $y, $txt, $txt_angle, $font_angle=0)
{
$font_angle+=90+$txt_angle;
$txt_angle*=M_PI/180;
$font_angle*=M_PI/180;
$txt_dx=cos($txt_angle);
$txt_dy=sin($txt_angle);
$font_dx=cos($font_angle);
$font_dy=sin($font_angle);
$s=sprintf('BT %.2F %.2F %.2F %.2F %.2F %.2F Tm (%s) Tj ET',$txt_dx,$txt_dy,$font_dx,$font_dy,$x*$this->k,($this->h-$y)*$this->k,$this->_escape($txt));
if ($this->ColorFlag)
$s='q '.$this->TextColor.' '.$s.' Q';
$this->_out($s);
}
}
// -------------------------------------------------- //
// PROPERTIES
// -------------------------------------------------- //
$fontSize = 10;
$marge = 10; // between barcode and hri in pixel
$x = 430; // barcode center
$y = 660; // barcode center
$height = 25; // barcode height in 1D ; module size in 2D
$width = 1; // barcode height in 1D ; not use in 2D
$angle = 0; // rotation in degrees
$code = ''.$_POST['barcode'].''; // barcode, of course ;)
$type = 'code128';
$black = '000000'; // color in hexa
// -------------------------------------------------- //
// ALLOCATE FPDF RESSOURCE
// -------------------------------------------------- //
$pdf = new eFPDF('P', 'pt');
$pdf->AddPage();
$pdf->Image('e-invitation-gr.jpg',0,0,600);
// -------------------------------------------------- //
// BARCODE
// -------------------------------------------------- //
$data = Barcode::fpdf($pdf, $black, $x, $y, $angle, $type, array('code'=>$code), $width, $height);
// -------------------------------------------------- //
// HRI
// -------------------------------------------------- //
$pdf->SetFont('Arial','B',$fontSize);
$pdf->SetTextColor(0, 0, 0);
$len = $pdf->GetStringWidth($data['hri']);
Barcode::rotate(-$len / 2, ($data['height'] / 2) + $fontSize + $marge, $angle, $xt, $yt);
$pdf->TextWithRotation($x + $xt, $y + $yt, $data['hri'], $angle);
$pdf->SetY(610);
$pdf->SetX(370);
$txt=''.$_POST['surname'].' '.$_POST['name'].'';
$field = iconv('UTF-8', 'cp1252', $txt);
$pdf->Cell(0,0,$field);
$pdf->SetY(630);
$pdf->SetX(390);
$pdf->Cell(0,0,''.$_POST['company_name'].'');
// email stuff (change data below)
$company_name =$_REQUEST['company_name'];
$surname =$_REQUEST['surname'];
$mail =$_REQUEST['mail'];
$email =$_REQUEST['mail'];
$name= $_REQUEST['name'];
I have tested all the possible solutions but iconv doesn't work at all and UTF8 decode shows ????
characters.
Is there anyway to make it with FPDF or should I change plugin?