setColor(0.8,0.4,0.1); $pdf->addtext(28+$x,281+$y,7,"nazwa odbiorcy"); $pdf->addtext(28+$x,221+$y,7,"nr rachunku odbiorcy"); $pdf->addtext(28+$x,193+$y,7,iconv('UTF-8', 'ISO-8859-2',"kwota do zap��aty")); $pdf->addtext(28+$x,160+$y,7,"nazwa zleceniodawcy"); if ($ks_w) { $pdf->addtext(28+$x,100+$y,7,"identyfikator Abonenta"); } else { $pdf->addtext(28+$x,100+$y,7,"nr faktury"); } $pdf->addtext(28+$x,43+$y,7,iconv('UTF-8', 'ISO-8859-2',"Op��ata")); $pdf->addtext(12+$x,100+$y,7,iconv('UTF-8', 'ISO-8859-2',"Odcinek dla wp��acaj��cego"),-90); $pdf->setColor(0,0,0); $pdf->setLineStyle(0.5); $pdf->setStrokeColor(0.8,0.4,0.1); $pdf->saveState(); $pdf->setLineStyle(0.5,'','',array(3,3)); $pdf->line( $x,$y, $x,289+$y); $pdf->line(178+$x,$y,178+$x,289+$y); $pdf->ellipse(142+$x,34+$y,21); // $pdf->ellipse(490+$x,34+$y,21); $pdf->restoreState(); // Op��ata $pdf->line( 20+$x, 20+$y, 80+$x, 20+$y); $pdf->line( 20+$x, 35+$y, 80+$x, 35+$y); for ($i=20;$i<=80;$i+=15) { $pdf->line( $i+$x, 20+$y, $i+$x, 35+$y); } $pdf->line( $x, $y,176+$x, $y); $pdf->line(108+$x, 68+$y,176+$x, 68+$y); $pdf->line( 20+$x, 74+$y,176+$x, 74+$y); $pdf->line( 20+$x,108+$y,176+$x,108+$y); $pdf->line( 20+$x,168+$y,176+$x,168+$y); $pdf->line( 20+$x,201+$y,176+$x,201+$y); $pdf->line( 20+$x,229+$y,176+$x,229+$y); $pdf->line( $x,289+$y,176+$x,289+$y); // Pionowe kreski $pdf->line( 20+$x, 74+$y, 20+$x,289+$y); $pdf->line(108+$x, $y,108+$x, 68+$y); $pdf->line(176+$x, $y,176+$x,289+$y); } $pdf->addtext(28+$x,265+$y,12, iconv('UTF-8', 'ISO-8859-2',$shortname)); $pdf->addtext(28+$x,251+$y,12, iconv('UTF-8', 'ISO-8859-2',$address)); $pdf->addtext(28+$x,237+$y,12, iconv('UTF-8', 'ISO-8859-2',$zip." ".$city)); $pdf->addtext(28+$x,208+$y,9, bankaccount($invoice['customerid'])); $pdf->addtext(70+$x,176+$y,12,'**'.number_format($invoice['total'],2,',','').'**'); //$pdf->addtext(15+$x,310+$y,30,$invoice['name']); $font_size=12; while ($pdf->getTextWidth($font_size, iconv('UTF-8', 'ISO-8859-2',$invoice['name']))>150) $font_size=$font_size-1; $pdf->addtext(28+$x,145+$y,$font_size, iconv('UTF-8', 'ISO-8859-2',$invoice['name'])); $font_size=12; while ($pdf->getTextWidth($font_size, iconv('UTF-8', 'ISO-8859-2',$invoice['address']))>150) $font_size=$font_size-1; $pdf->addtext(28+$x,131+$y,$font_size, iconv('UTF-8', 'ISO-8859-2',$invoice['address'])); $pdf->addtext(28+$x,117+$y,$font_size, iconv('UTF-8', 'ISO-8859-2',$invoice['zip']." ".$invoice['city'])); $font_size=12; if ($ks_w) { while ($pdf->getTextWidth($font_size, iconv('UTF-8', 'ISO-8859-2',"ID Abonenta ".$invoice['customerid']))>150) $font_size=$font_size-1; $pdf->addtext(28+$x,85+$y,$font_size, iconv('UTF-8', 'ISO-8859-2',"ID Abonenta ".$invoice['customerid'])); } else { while ($pdf->getTextWidth($font_size, iconv('UTF-8', 'ISO-8859-2',$invoice['t_number']))>150) $font_size=$font_size-1; $pdf->addtext(45+$x,85+$y,$font_size, iconv('UTF-8', 'ISO-8859-2',$invoice['t_number'])); } } function main_fill($x,$y) { global $pdf,$ks_w,$template,$invoice; $shortname = $invoice['division_shortname']; $address = $invoice['division_address']; $zip = $invoice['division_zip']; $city = $invoice['division_city']; if ($template) { // Napisy pomara��czowe $pdf->setColor(0.8,0.4,0.1); $pdf->addtext(28+$x,281+$y,7,"nazwa odbiorcy"); $pdf->addtext(28+$x,234+$y,7,"nr rachunku odbiorcy"); $pdf->addtext(184+$x,206+$y,7,"waluta"); $pdf->addtext(240+$x,206+$y,7,iconv('UTF-8', 'ISO-8859-2',"kwota do zap��aty")); $pdf->addtext(28+$x,185+$y,6,iconv('UTF-8', 'ISO-8859-2',"nr rachunku zleceniodawcy (przelew) / kwota s��ownie (wp��ata)")); $pdf->addtext(28+$x,160+$y,7,"nazwa zleceniodawcy"); $pdf->addtext(28+$x,100+$y,7,iconv('UTF-8', 'ISO-8859-2',"tytu��em")); $pdf->addtext(221+$x,43+$y,7,iconv('UTF-8', 'ISO-8859-2',"Op��ata")); $pdf->addtext(12+$x,80+$y,7,iconv('UTF-8', 'ISO-8859-2',"Op��ata przelewu / wp��ata got��wkowa"),-90); $pdf->setColor(0,0,0); } $pdf->setLineStyle(0.5); $pdf->setStrokeColor(0.8,0.4,0.1); // Poziome linie $pdf->line( $x, $y,403+$x, $y); $pdf->line( 215+$x,58+$y,287+$x, 58+$y); $pdf->line( 355+$x,58+$y,403+$x, 58+$y); $pdf->line( 375+$x,60+$y,403+$x, 60+$y); $pdf->line( 20+$x, 68+$y,215+$x, 68+$y); $pdf->line( 20+$x, 74+$y,403+$x, 74+$y); $pdf->line( 20+$x,108+$y,403+$x,108+$y); $pdf->line( 20+$x,168+$y,403+$x,168+$y); $pdf->line( 39+$x,183+$y,403+$x,183+$y); $pdf->line( 20+$x,191+$y,403+$x,191+$y); $pdf->line( 20+$x,214+$y,403+$x,214+$y); $pdf->line( 20+$x,243+$y,403+$x,243+$y); $pdf->line( $x,289+$y,403+$x,289+$y); // Op��ata i kratki $pdf->line(221+$x,20+$y,281+$x,20+$y); $pdf->line(221+$x,35+$y,281+$x,35+$y); for ($i=221;$i<=281;$i+=15) { $pdf->line( $i+$x, 20+$y, $i+$x, 35+$y); } // Pionowe linie $pdf->line(20+$x,$y,20+$x,68+$y); $pdf->line(375+$x,60+$y,375+$x,74+$y); $pdf->line(215+$x,$y,215+$x,68+$y); $pdf->line(20+$x,74+$y,20+$x,289+$y); $pdf->line(130+$x,191+$y,130+$x,214+$y); $pdf->line(230+$x,191+$y,230+$x,214+$y); for ($i=389;$i>=39;$i-=14) { $pdf->line( $x+$i, 168+$y, $x+$i, 183+$y); } $pdf->line(403+$x,$y,403+$x,289+$y); // Stempel $pdf->line(287+$x,$y,287+$x,68+$y); $pdf->line(287+$x,68+$y,355+$x,68+$y); $pdf->line(355+$x,68+$y,355+$x,$y); $pdf->saveState(); $pdf->setLineStyle(0.5,'','',array(3,3)); $pdf->ellipse(321+$x,34+$y,21); $pdf->restoreState(); $pdf->addtext(28+$x,270+$y,12, iconv('UTF-8', 'ISO-8859-2',$shortname)); $pdf->addtext(28+$x,258+$y,12, iconv('UTF-8', 'ISO-8859-2',$address)); $pdf->addtext(28+$x,246+$y,12, iconv('UTF-8', 'ISO-8859-2',$zip." ".$city)); $pdf->addtext(145+$x,234+$y,9, bankaccount($invoice['customerid'])); $ii = str_replace(' ', '',bankaccount($invoice['customerid'])); barcode(130+$x,232+$y,$ii); $pdf->addtext(300+$x,195+$y,12,'**'.number_format($invoice['total'],2,',','').'**'); $pdf->addtext(190+$x,195+$y,12,'PLN'); // Kwadraciki z W i P $x1 = 136+$x; $y1 = 194+$y; $x2 = 136+$x; $y2 = 209+$y; $x3 = $x1+17; $x4 = $x2+17; $pdf->line($x1 ,$y1 ,$x2 ,$y2); $pdf->line($x1 ,$y1+15,$x2+15,$y2); $pdf->line($x1+15,$y1 ,$x2+15,$y2); $pdf->line($x1+15,$y1 ,$x1 ,$y1); $pdf->line($x3 ,$y1 ,$x4 ,$y2); $pdf->line($x3 ,$y1+15,$x4+15,$y2); $pdf->line($x3+15,$y1 ,$x4+15,$y2); $pdf->line($x3+15,$y1 ,$x3 ,$y1); $pdf->setColor(0.8,0.4,0.1); $pdf->addtext($x1+1,$y1+2,14,'W'); $pdf->addtext($x3+3,$y1+2,14,'P'); $pdf->setColor(0,0,0); $font_size=12; while ($pdf->getTextWidth($font_size, iconv('UTF-8', 'ISO-8859-2',$invoice['name']))>360) $font_size=$font_size-1; $pdf->addtext(28+$x,145+$y,$font_size, iconv('UTF-8', 'ISO-8859-2',$invoice['name'])); $font_size=12; $pdf->addtext(28+$x,131+$y,12, iconv('UTF-8', 'ISO-8859-2',$invoice['address'])); $pdf->addtext(28+$x,117+$y,12, iconv('UTF-8', 'ISO-8859-2',$invoice['zip']." ".$invoice['city'])); $crc = sprintf("%010u", crc32($invoice['customerid'])); if ($ks_w) { $pdf->addtext(145+$x,97+$y,10, iconv('UTF-8', 'ISO-8859-2',"IDA".$crc."IDA")); barcode(130+$x,93+$y,"IDA".$crc."IDA"); } else { $pdf->addtext(227+$x,68+$y,6,iconv('UTF-8', 'ISO-8859-2',"Termin p��atno��ci")); $pdf->addtext(233+$x,60+$y,7,iconv('UTF-8', 'ISO-8859-2',date("Y/m/d",$invoice['pdate']))); $pdf->addtext(145+$x,97+$y,10, iconv('UTF-8', 'ISO-8859-2',$invoice['t_number'])); barcode(130+$x,93+$y,$invoice['t_number']); } $pdf->setColor(0,0,0); } function barcode($x,$y,$code) { global $pdf, $_LIB_DIR; $barcode_options = array ( 'scale' => 1, 'fontscale' => 0, 'font' => $_LIB_DIR.'/ezpdf/arial.afm', 'rotation' => 0 ); $barcode = new PDFBarcode($pdf, $barcode_options); $fp=popen("/usr/local/bin/genbarcode $code 128", "r"); $bars=rtrim(fgets($fp, 1024)); $text=rtrim(fgets($fp, 1024)); $encoding=rtrim(fgets($fp, 1024)); pclose($fp); if (ereg('^(EAN|ISBN|code 39)', $encoding)) { $fontscale = 4; } else { $fontscale = 7; } $id = $barcode->generate($text, $bars, $x, $y, $fontscale); $pdf->addObject($id); } function invoice_simple_form_fill($x,$y,$scale) { global $pdf,$invoice; $pdf->setlinestyle(1); $pdf->line(7*$scale+$x,724*$scale+$y,7*$scale+$x,694*$scale+$y); $pdf->line(7*$scale+$x,724*$scale+$y,37*$scale+$x,724*$scale+$y); $pdf->line(370*$scale+$x,724*$scale+$y,370*$scale+$x,694*$scale+$y); $pdf->line(370*$scale+$x,724*$scale+$y,340*$scale+$x,724*$scale+$y); $pdf->line(7*$scale+$x,197*$scale+$y,7*$scale+$x,227*$scale+$y); $pdf->line(7*$scale+$x,197*$scale+$y,37*$scale+$x,197*$scale+$y); $pdf->line(370*$scale+$x,197*$scale+$y,370*$scale+$x,227*$scale+$y); $pdf->line(370*$scale+$x,197*$scale+$y,340*$scale+$x,197*$scale+$y); $shortname = $invoice['division_shortname']; $address = $invoice['division_address']; $zip = $invoice['division_zip']; $city = $invoice['division_city']; $account = bankaccount($invoice['customerid']); text_autosize(15*$scale+$x,568*$scale+$y,30*$scale, iconv("UTF-8","ISO-8859-2//TRANSLIT", $shortname),350*$scale); text_autosize(15*$scale+$x,534*$scale+$y,30*$scale, iconv("UTF-8","ISO-8859-2//TRANSLIT", $address),350*$scale); text_autosize(15*$scale+$x,500*$scale+$y,30*$scale, iconv("UTF-8","ISO-8859-2//TRANSLIT", $zip.' '.$city),350*$scale); //text_autosize(15*$scale+$x,683*$scale+$y,30*$scale, substr($tmp,0,17),350*$scale); //text_autosize(15*$scale+$x,626*$scale+$y,30*$scale, substr($tmp,18,200),350*$scale); text_autosize(15*$scale+$x,683*$scale+$y,30*$scale, $tmp,350*$scale); text_autosize(15*$scale+$x,445*$scale+$y,30*$scale,"*".number_format($invoice['total'],2,',','')."*",350*$scale); text_autosize(15*$scale+$x,390*$scale+$y,30*$scale, iconv("UTF-8","ISO-8859-2//TRANSLIT",$invoice['name']),350*$scale); text_autosize(15*$scale+$x,356*$scale+$y,30*$scale, iconv("UTF-8","ISO-8859-2//TRANSLIT",$invoice['address']),350*$scale); text_autosize(15*$scale+$x,322*$scale+$y,30*$scale, iconv("UTF-8","ISO-8859-2//TRANSLIT",$invoice['zip'].' '.$invoice['city']),350*$scale); $tmp = docnumber($invoice['number'], $invoice['template'], $invoice['cdate']); text_autosize(15*$scale+$x,215*$scale+$y,30*$scale,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Payment for invoice No. $a', $account)),350*$scale); } function invoice_main_form_fill($x,$y,$scale) { global $pdf,$invoice; $pdf->setlinestyle(1); $pdf->line(7*$scale+$x,724*$scale+$y,7*$scale+$x,694*$scale+$y); $pdf->line(7*$scale+$x,724*$scale+$y,37*$scale+$x,724*$scale+$y); $pdf->line(970*$scale+$x,724*$scale+$y,970*$scale+$x,694*$scale+$y); $pdf->line(970*$scale+$x,724*$scale+$y,940*$scale+$x,724*$scale+$y); $pdf->line(7*$scale+$x,172*$scale+$y,7*$scale+$x,202*$scale+$y); $pdf->line(7*$scale+$x,172*$scale+$y,37*$scale+$x,172*$scale+$y); $name = $invoice['division_name']; $address = $invoice['division_address']; $zip = $invoice['division_zip']; $city = $invoice['division_city']; $account = bankaccount($invoice['customerid']); text_autosize(15*$scale+$x,680*$scale+$y,30*$scale,iconv("UTF-8","ISO-8859-2//TRANSLIT",$name),950*$scale); text_autosize(15*$scale+$x,617*$scale+$y,30*$scale,iconv("UTF-8","ISO-8859-2//TRANSLIT",$address." ".$zip." ".$city),950*$scale); text_autosize(15*$scale+$x,555*$scale+$y,30*$scale,$account,950*$scale); $pdf->addtext(330*$scale+$x,495*$scale+$y,30*$scale,'X'); text_autosize(550*$scale+$x,495*$scale+$y,30*$scale,"*".number_format($invoice['total'],2,',','')."*",400*$scale); text_autosize(15*$scale+$x,434*$scale+$y,30*$scale,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('$a dollars $b cents',to_words(floor($invoice['total'])),to_words(round(($invoice['total']-floor($invoice['total']))*100)))),950*$scale); text_autosize(15*$scale+$x,372*$scale+$y,30*$scale, iconv("UTF-8","ISO-8859-2//TRANSLIT",$invoice['name']),950*$scale); text_autosize(15*$scale+$x,312*$scale+$y,30*$scale, iconv("UTF-8","ISO-8859-2//TRANSLIT",$invoice['address']." ".$invoice['zip']." ".$invoice['city']),950*$scale); $tmp = docnumber($invoice['number'], $invoice['template'], $invoice['cdate']); text_autosize(15*$scale+$x,250*$scale+$y,30*$scale,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Payment for invoice No. $a',$tmp)),950*$scale); } function invoice_dates($x,$y) { global $invoice,$pdf; $font_size=12; text_align_right($x,$y,$font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Settlement date:')).' '); $y=$y-text_align_left($x,$y,$font_size,date("Y/m/d",$invoice['cdate'])); text_align_right($x,$y,$font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Sale date:')).' '); $y=$y-text_align_left($x,$y,$font_size,date("Y/m/d",$invoice['cdate'])); text_align_right($x,$y,$font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Deadline:')).' '); $y=$y-text_align_left($x,$y,$font_size,date("Y/m/d",$invoice['pdate'])); text_align_right($x,$y,$font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Payment type:')).' '); $y=$y-text_align_left($x,$y,$font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",$invoice['paytypename'])); return $y; } function invoice_buyer($x,$y) { global $invoice,$pdf; $font_size=10; $y=$y-text_align_left($x,$y,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Purchaser:')).''); $y=text_wrap($x,$y,350,$font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",$invoice['name']),'left'); $y=$y-text_align_left($x,$y,$font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",$invoice['address'])); $y=$y-text_align_left($x,$y,$font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",$invoice['zip']." ".$invoice['city'])); if ($invoice['division_countryid'] && $invoice['countryid'] && $invoice['division_countryid'] != $invoice['countryid']) $y=$y-text_align_left($x,$y,$font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans($invoice['country']))); if ($invoice['ten']) $y=$y-text_align_left($x,$y,$font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('TEN')).' '.$invoice['ten']); // else if ($invoice['ssn']) // $y=$y-text_align_left($x,$y,$font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('SSN')).' '.$invoice['ssn']); // $y=$y-text_align_left($x,$y,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Customer No.: $0',sprintf('%04d',$invoice['customerid']))).''); return $y; } function invoice_seller($x,$y) { global $pdf, $invoice; $font_size=10; $y=$y-text_align_left($x,$y,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Seller:')).''); $tmp = iconv("UTF-8","ISO-8859-2//TRANSLIT", $invoice['division_header']); $tmp = preg_split('/\r?\n/', $tmp); foreach ($tmp as $line) $y=$y-text_align_left($x,$y,$font_size,$line); return $y; } function invoice_title($x,$y) { global $invoice,$pdf,$type; $font_size = 16; $tmp = docnumber($invoice['number'], $invoice['template'], $invoice['cdate']); if(isset($invoice['invoice'])) $y=$y-text_align_left($x,$y,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Credit Note No. $a',$tmp)).''); else $y=$y-text_align_left($x,$y,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Invoice No. $a',$tmp)).''); if(isset($invoice['invoice'])) { $font_size = 12; $y += 8; $tmp = docnumber($invoice['invoice']['number'], $invoice['invoice']['template'], $invoice['invoice']['cdate']); $y=$y-text_align_left($x,$y,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('for Invoice No. $a',$tmp)).''); $y -= 5; } $font_size = 16; $y=$y-text_align_left($x,$y,$font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",$type)); if($type==trans('DUPLICATE')) { $font_size = 12; $y=$y-text_align_left($x,$y+4,$font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Duplicate draw-up date:').' '.date('Y/m/d'))); } if(isset($invoice['invoice'])) $y += 10; return $y; } function invoice_address_box($x,$y) { global $invoice,$pdf; $font_size=12; /* $invoice_name = $invoice['name']; if (strlen($invoice_name)>25) $invoice_name = preg_replace('/(.{25})/',"$1>\n",$invoice_name); $tmp = preg_split('/\r?\n/', iconv("UTF-8","ISO-8859-2",$invoice_name)); foreach ($tmp as $line) $y=$y-text_align_left($x,$y,$font_size,"".$line.""); */ $y = text_wrap($x, $y, 160, $font_size, ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",$invoice['name'].''), 'left'); if ($invoice['serviceaddr']) { $tmp = preg_split('/\r?\n/', iconv("UTF-8","ISO-8859-2//TRANSLIT",$invoice['serviceaddr'])); foreach ($tmp as $line) $y=$y-text_align_left($x,$y,$font_size,''.$line.''); } else { $y=$y-text_align_left($x,$y,$font_size,''.iconv('UTF-8','ISO-8859-2//TRANSLIT',$invoice['address']).''); $y=$y-text_align_left($x,$y,$font_size,''.iconv('UTF-8','ISO-8859-2//TRANSLIT',$invoice['zip']." ".$invoice['city']).''); } return $y; } function invoice_data_row($x,$y,$width,$font_size,$margin,$data,$t_width,$t_justify) { global $pdf; $fy=$y-$margin-$pdf->GetFontHeight($font_size); $left = $x+$margin; $ny = $fy; $cols = sizeof($data); for ($i = 1; $i <= $cols; $i++) { $ly = text_wrap($left+$margin, $fy, $t_width[$i]-2*$margin, $font_size,$data[$i],$t_justify[$i]); $left = $left + $t_width[$i]+2*$margin; if ($ly<$ny) $ny=$ly; } $left = $x; for ($i = 1; $i <= $cols; $i++) { $pdf->line($left, $y, $left, $ny+$font_size/2); $left = $left + $t_width[$i]+2*$margin; } $pdf->line($left, $y, $left, $ny+$font_size/2); $y=$ny+$font_size/2; $pdf->line($x,$y,$x+$width,$y); return($y); } function invoice_short_data_row($x,$y,$width,$font_size,$margin,$data,$t_width,$t_justify) { global $pdf; $fy=$y-$margin-$pdf->GetFontHeight($font_size); $left = $x+$margin; $ny = $fy; $cols = sizeof($data); for ($i = $cols-3; $i <= $cols; $i++) { $ly = text_wrap($left+$margin, $fy, $t_width[$i]-2*$margin, $font_size,$data[$i],$t_justify[$i]); $left = $left + $t_width[$i]+2*$margin; if ($ly<$ny) $ny=$ly; } $left = $x; for ($i = $cols-3; $i <= $cols; $i++) { $pdf->line($left, $y, $left, $ny+$font_size/2); $left = $left + $t_width[$i]+2*$margin; } $pdf->line($left, $y, $left, $ny+$font_size/2); $y=$ny+$font_size/2; //$pdf->line($x,$y,$x+$width,$y); $v = $cols-3; $pdf->line($x,$y,$x+$t_width[$v++]+$t_width[$v++]+$t_width[$v++]+$t_width[$v++]+8*$margin,$y); return($y); } function invoice_data($x,$y,$width,$font_size,$margin) { global $invoice,$pdf; $pdf->setlinestyle(0.5); $pdf->line($x,$y,$x+$width,$y); $v = 1; $t_data[$v++] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('No.')).''; $t_data[$v++] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Name of Product, Commodity or Service:')).''; $t_data[$v++] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Product ID:')).''; $t_data[$v++] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Unit:')).''; $t_data[$v++] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Amount:')).''; if($invoice['discount']) $t_data[$v++] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Discount:')).''; $t_data[$v++] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Unitary Net Value:')).''; $t_data[$v++] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Net Value:')).''; $t_data[$v++] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Tax Rate:')).''; $t_data[$v++] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Tax Value:')).''; $t_data[$v++] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Gross Value:')).''; for ($i = 1; $i < $v; $i++) $t_justify[$i]="center"; for ($i = 1; $i < $v; $i++) $t_width[$i] = getWrapTextWidth($font_size,$t_data[$i])+2*$margin+2; // tutaj jeszcze trzeba b�dzie sprawdzi� jak� szeroko�� maj� pola w tabelce p��niej if ($invoice['content']) foreach ($invoice['content'] as $item) { $v = 2; $tt_width[$v++] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['description'])); $tt_width[$v++] = $pdf->getTextWidth($font_size,$item['prodid']); $tt_width[$v++] = $pdf->getTextWidth($font_size,$item['content']); $tt_width[$v++] = $pdf->getTextWidth($font_size,sprintf('%.2f',$item['count'])); if($invoice['discount']) $tt_width[$v++] = $pdf->getTextWidth($font_size,sprintf('%.2f%%',$item['discount'])); $tt_width[$v++] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['basevalue'])))+6; $tt_width[$v++] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['totalbase'])))+6; $tt_width[$v++] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['taxlabel']))+6; $tt_width[$v++] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['totaltax'])))+6; $tt_width[$v++] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['total'])))+6; for ($i = 2; $i < $v; $i++) if(($tt_width[$i]+2*$margin+2)>$t_width[$i]) $t_width[$i] = $tt_width[$i]+2*$margin+2; } if(isset($invoice['invoice']['content'])) foreach ($invoice['invoice']['content'] as $item) { $v = 2; $tt_width[$v++] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['description'])); $tt_width[$v++] = $pdf->getTextWidth($font_size,$item['prodid']); $tt_width[$v++] = $pdf->getTextWidth($font_size,$item['content']); $tt_width[$v++] = $pdf->getTextWidth($font_size,sprintf('%.2f',$item['count'])); if($invoice['discount']) $tt_width[$v++] = $pdf->getTextWidth($font_size,sprintf('%.2f%%',$item['discount'])); $tt_width[$v++] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['basevalue'])))+6; $tt_width[$v++] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['totalbase'])))+6; $tt_width[$v++] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['taxlabel']))+6; $tt_width[$v++] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['totaltax'])))+6; $tt_width[$v++] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['total'])))+6; for ($i = 2; $i < $v; $i++) if(($tt_width[$i]+2*$margin+2)>$t_width[$i]) $t_width[$i] = $tt_width[$i]+2*$margin+2; } // Kolumna 2 b�dzie mia�a rozmiar ustalany dynamicznie $t_width[2] = $width-($t_width[1]+$t_width[3]+$t_width[4]+$t_width[5]+$t_width[6]+$t_width[7]+$t_width[8]+$t_width[9]+$t_width[10]+($invoice['discount'] ? $t_width[11] : 0)+ 2*$margin*($invoice['discount'] ? 11 : 10)); $y = invoice_data_row($x,$y,$width,$font_size,$margin,$t_data,$t_width,$t_justify); $t_justify[11] = $t_justify[10] = $t_justify[9] = $t_justify[8] = $t_justify[7] = $t_justify[6] = $t_justify[5] = "right"; $t_justify[2] = 'left'; if(isset($invoice['invoice'])) { // we have credit note, so first print corrected invoice data $xx = $x; $y = $y-text_align_left($x,$y-10,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Was:')).''); $y -= 6; $pdf->line($x,$y,$x+$width,$y); $lp = 1; if ($invoice['invoice']['content']) foreach ($invoice['invoice']['content'] as $item) { $v = 1; $t_data[$v++] = $lp; $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['description']); $t_data[$v++] = $item['prodid']; $t_data[$v++] = $item['content']; $t_data[$v++] = sprintf('%.2f',$item['count']); if($invoice['discount']) $t_data[$v++] = sprintf('%.2f%%',$item['discount']); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['basevalue'])); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['totalbase'])); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['taxlabel']); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['totaltax'])); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['total'])); $lp++; $y = invoice_data_row($x,$y,$width,$font_size,$margin,$t_data,$t_width,$t_justify); } $x = $x + ($invoice['discount'] ? 7 : 6)*2*$margin + $t_width[1] + $t_width[2] + $t_width[3] + $t_width[4] + $t_width[5] + $t_width[6] + ($invoice['discount'] ? $t_width[7] : 0); $fy=$y-$margin-$pdf->GetFontHeight($font_size); text_align_right($x-$margin,$fy,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Total:')).''); $v = $invoice['discount'] ? 8 : 7; $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($invoice['invoice']['totalbase'])); $t_data[$v++] = "x"; $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($invoice['invoice']['totaltax'])); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($invoice['invoice']['total'])); $y = invoice_short_data_row($x,$y,$width,$font_size,$margin,$t_data,$t_width,$t_justify); $y -= 5; $fy=$y-$margin-$pdf->GetFontHeight($font_size); text_align_right($x-$margin,$fy,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('in it:')).''); $v = $invoice['discount'] ? 8 : 7; $pdf->line($x,$y,$x+$t_width[$v++]+$t_width[$v++]+$t_width[$v++]+$t_width[$v++]+8*$margin,$y); if ($invoice['invoice']['taxest']) foreach ($invoice['invoice']['taxest'] as $item) { $v = $invoice['discount'] ? 8 : 7; $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['base'])); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['taxlabel']); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['tax'])); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['total'])); $y = invoice_short_data_row($x,$y,$width,$font_size,$margin,$t_data,$t_width,$t_justify); } $x = $xx; if ($invoice['reason'] != '') { $y = $y-text_align_left($x,$y-10,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Reason:').' '.$invoice['reason']).''); $y -= 10; } $y = $y-text_align_left($x,$y-10,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Corrected to:')).''); $y -= 5; $pdf->line($x,$y,$x+$width,$y); } $lp = 1; if($invoice['content']) foreach ($invoice['content'] as $item) { $v = 1; $t_data[$v++] = $lp; $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['description']); $t_data[$v++] = $item['prodid']; $t_data[$v++] = $item['content']; $t_data[$v++] = sprintf('%.2f',$item['count']); if($invoice['discount']) $t_data[$v++] = sprintf('%.2f%%',$item['discount']); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['basevalue'])); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['totalbase'])); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['taxlabel']); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['totaltax'])); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['total'])); $lp++; $y = invoice_data_row($x,$y,$width,$font_size,$margin,$t_data,$t_width,$t_justify); } $return[1] = $y; $x = $x + ($invoice['discount'] ? 7 : 6)*2*$margin + $t_width[1] + $t_width[2] + $t_width[3] + $t_width[4] + $t_width[5] + $t_width[6] + ($invoice['discount'] ? $t_width[7] : 0); $fy=$y-$margin-$pdf->GetFontHeight($font_size); text_align_right($x-$margin,$fy,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Total:')).''); $v = $invoice['discount'] ? 8 : 7; $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($invoice['totalbase'])); $t_data[$v++] = "x"; $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($invoice['totaltax'])); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($invoice['total'])); $y = invoice_short_data_row($x,$y,$width,$font_size,$margin,$t_data,$t_width,$t_justify); $y = $y - 5; $fy=$y-$margin-$pdf->GetFontHeight($font_size); text_align_right($x-$margin,$fy,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('in it:')).''); $v = $invoice['discount'] ? 8 : 7; $pdf->line($x,$y,$x+$t_width[$v++]+$t_width[$v++]+$t_width[$v++]+$t_width[$v++]+8*$margin,$y); if ($invoice['taxest']) foreach ($invoice['taxest'] as $item) { $v = $invoice['discount'] ? 8 : 7; $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['base'])); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['taxlabel']); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['tax'])); $t_data[$v++] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['total'])); $y = invoice_short_data_row($x,$y,$width,$font_size,$margin,$t_data,$t_width,$t_justify); } if(isset($invoice['invoice'])) { $total = $invoice['total'] - $invoice['invoice']['total']; $totalbase = $invoice['totalbase'] - $invoice['invoice']['totalbase']; $totaltax = $invoice['totaltax'] - $invoice['invoice']['totaltax']; $y = $y - 5; $fy=$y-$margin-$pdf->GetFontHeight($font_size); $v = $invoice['discount'] ? 8 : 7; $pdf->line($x,$y,$x+$t_width[$v++]+$t_width[$v++]+$t_width[$v++]+$t_width[$v++]+8*$margin,$y); text_align_right($x-$margin,$fy,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT", trans('Difference value:')).''); $v = $invoice['discount'] ? 8 : 7; $t_data[$v++] = ($totalbase>0 ? '+' : '') . iconv("UTF-8","ISO-8859-2//TRANSLIT", moneyf($totalbase)); $t_data[$v++] = "x"; $t_data[$v++] = ($totaltax>0 ? '+' : '') . iconv("UTF-8","ISO-8859-2//TRANSLIT", moneyf($totaltax)); $t_data[$v++] = ($total>0 ? '+' : '') . iconv("UTF-8","ISO-8859-2//TRANSLIT", moneyf($total)); $y = invoice_short_data_row($x,$y,$width,$font_size,$margin,$t_data,$t_width,$t_justify); } $return[2] = $y; return $return; } function new_invoice_data($x,$y,$width,$font_size,$margin) { global $invoice, $pdf; $pdf->setlinestyle(0.5); $data = array(); $cols = array(); $params = array( 'fontSize' => $font_size, 'xPos' => $x, 'xOrientation' => 'right', // I think it should be left here (bug?) 'rowGap' => 2, 'colGap' => 2, 'showHeadings' => 0, 'cols' => array(), ); // tabelka glowna $cols['no'] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('No.')).''; $cols['name'] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Name of Product, Commodity or Service:')).''; $cols['prodid'] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Product ID:')).''; $cols['content'] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Unit:')).''; $cols['count'] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Amount:')).''; if($invoice['discount']) $cols['discount'] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Discount:')).''; $cols['basevalue'] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Unitary Net Value:')).''; $cols['totalbase'] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Net Value:')).''; $cols['taxlabel'] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Tax Rate:')).''; $cols['totaltax'] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Tax Value:')).''; $cols['total'] = ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Gross Value:')).''; foreach($cols as $name => $text) { $params['cols'][$name] = array( 'justification' => 'center', 'width' => getWrapTextWidth($font_size,$text)+2*$margin+2, ); } // tutaj jeszcze trzeba b�dzie sprawdzi� jak� szeroko�� maj� pola w tabelce p��niej if ($invoice['content']) foreach ($invoice['content'] as $item) { $tt_width['name'] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['description'])); $tt_width['prodid'] = $pdf->getTextWidth($font_size,$item['prodid']); $tt_width['content'] = $pdf->getTextWidth($font_size,$item['content']); $tt_width['count'] = $pdf->getTextWidth($font_size,sprintf('%.2f',$item['count'])); if($invoice['discount']) $tt_width['discount'] = $pdf->getTextWidth($font_size,sprintf('%.2f%%',$item['discount'])); $tt_width['basevalue'] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['basevalue'])))+6; $tt_width['totalbase'] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['totalbase'])))+6; $tt_width['taxlabel'] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['taxlabel']))+6; $tt_width['totaltax'] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['totaltax'])))+6; $tt_width['total'] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['total'])))+6; foreach($tt_width as $name => $w) if(($w+2*$margin+2) > $params['cols'][$name]['width']) $params['cols'][$name]['width'] = $w+2*$margin+2; } if(isset($invoice['invoice']['content'])) foreach ($invoice['invoice']['content'] as $item) { $tt_width['name'] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['description'])); $tt_width['prodid'] = $pdf->getTextWidth($font_size,$item['prodid']); $tt_width['content'] = $pdf->getTextWidth($font_size,$item['content']); $tt_width['count'] = $pdf->getTextWidth($font_size,sprintf('%.2f',$item['count'])); if($invoice['discount']) $tt_width['discount'] = $pdf->getTextWidth($font_size,sprintf('%.2f%%',$item['discount'])); $tt_width['basevalue'] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['basevalue'])))+6; $tt_width['totalbase'] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['totalbase'])))+6; $tt_width['taxlabel'] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['taxlabel']))+6; $tt_width['totaltax'] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['totaltax'])))+6; $tt_width['total'] = $pdf->getTextWidth($font_size,iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['total'])))+6; foreach($tt_width as $name => $w) if(($w+2*$margin+2) > $params['cols'][$name]['width']) $params['cols'][$name]['width'] = $w+2*$margin+2; } // Kolumna 'name' bedzie miala rozmiar ustalany dynamicznie $sum = 0; foreach($params['cols'] as $name => $col) if($name != 'name') $sum += $col['width']; $params['cols']['name']['width'] = $width - $sum; // table header $pdf->ezSetY($y); $data = array(0=>$cols); $y = $pdf->ezTable($data, $cols,'', $params); $data = array(); foreach($cols as $name => $text) { switch($name) { case 'no': $params['cols'][$name]['justification'] = 'center'; break; case 'name': $params['cols'][$name]['justification'] = 'left'; break; default: $params['cols'][$name]['justification'] = 'right'; break; } } // size of taxes summary table $xx = $x; foreach($params['cols'] as $name => $value) if(in_array($name, array('no','name','prodid','content','count','discount','basevalue'))) { $xx += $params['cols'][$name]['width']; } else $cols2[$name] = $params['cols'][$name]; $data2 = array(); $params2 = array( 'fontSize' => $font_size, 'xPos' => $xx, 'xOrientation' => 'right', 'rowGap' => 2, 'colGap' => 2, 'showHeadings' => 0, 'cols' => $cols2, ); if(isset($invoice['invoice'])) { // we have credit note, so first print corrected invoice data $y -= 20; check_page_length($y); $y = $y-text_align_left($x,$y,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Was:')).''); $i = 0; if ($invoice['invoice']['content']) foreach ($invoice['invoice']['content'] as $item) { $data[$i]['no'] = $i+1; $data[$i]['name'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['description']); $data[$i]['prodid'] = $item['prodid']; $data[$i]['content'] = $item['content']; $data[$i]['count'] = sprintf('%.2f',$item['count']); if($invoice['discount']) $data[$i]['discount'] = sprintf('%.2f%%',$item['discount']); $data[$i]['basevalue'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['basevalue'])); $data[$i]['totalbase'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['totalbase'])); $data[$i]['taxlabel'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['taxlabel']); $data[$i]['totaltax'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['totaltax'])); $data[$i]['total'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['total'])); $i++; } $pdf->ezSetY($y); $y = $pdf->ezTable($data, $cols,'', $params); $data = array(); $y -= 10; check_page_length($y); $data2[0]['totalbase'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($invoice['invoice']['totalbase'])); $data2[0]['taxlabel'] = "x"; $data2[0]['totaltax'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($invoice['invoice']['totaltax'])); $data2[0]['total'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($invoice['invoice']['total'])); $pdf->ezSetY($y); $y = $pdf->ezTable($data2, NULL,'', $params2); $data2 = array(); $fy = $y + $pdf->GetFontHeight($font_size)/2; text_align_right($xx-5, $fy, $font_size, ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Total:')).''); check_page_length($y); $fy = $y - $margin - $pdf->GetFontHeight($font_size); text_align_right($xx-5,$fy,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('in it:')).''); if ($invoice['invoice']['taxest']) { $i = 0; foreach ($invoice['invoice']['taxest'] as $item) { $data2[$i]['totalbase'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['base'])); $data2[$i]['taxlabel'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['taxlabel']); $data2[$i]['totaltax'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['tax'])); $data2[$i]['total'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['total'])); $i++; } $pdf->ezSetY($y); $y = $pdf->ezTable($data2, NULL,'', $params2); $data2 = array(); } $y -= 20; if($invoice['reason'] != '') { check_page_length($y); $y = text_wrap($x,$y,$width,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Reason:').' '.$invoice['reason']).'','left'); $y -= 10; } check_page_length($y); $y = $y-text_align_left($x,$y,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Corrected to:')).''); } // pozycje faktury $i = 0; if(isset($invoice['content'])) foreach ($invoice['content'] as $item) { $data[$i]['no'] = $i+1; $data[$i]['name'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['description']); $data[$i]['prodid'] = $item['prodid']; $data[$i]['content'] = $item['content']; $data[$i]['count'] = sprintf('%.2f',$item['count']); if($invoice['discount']) $data[$i]['discount'] = sprintf('%.2f%%',$item['discount']); $data[$i]['basevalue'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['basevalue'])); $data[$i]['totalbase'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['totalbase'])); $data[$i]['taxlabel'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['taxlabel']); $data[$i]['totaltax'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['totaltax'])); $data[$i]['total'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['total'])); $i++; } $pdf->ezSetY($y); $y = $pdf->ezTable($data, $cols,'', $params); $y -= 10; check_page_length($y); // podsumowanie podatku $data2[0]['totalbase'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($invoice['totalbase'])); $data2[0]['taxlabel'] = "x"; $data2[0]['totaltax'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($invoice['totaltax'])); $data2[0]['total'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($invoice['total'])); $pdf->ezSetY($y); $y = $pdf->ezTable($data2, NULL,'', $params2); $data2 = array(); $fy = $y + $pdf->GetFontHeight($font_size)/2; text_align_right($xx-5, $fy, $font_size, ''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Total:')).''); $return[1] = $y; check_page_length($y); $fy = $y - $margin - $pdf->GetFontHeight($font_size); text_align_right($xx-5,$fy,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('in it:')).''); if(isset($invoice['taxest'])) { $i = 0; foreach ($invoice['taxest'] as $item) { $data2[$i]['totalbase'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['base'])); $data2[$i]['taxlabel'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",$item['taxlabel']); $data2[$i]['totaltax'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['tax'])); $data2[$i]['total'] = iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($item['total'])); $i++; } $pdf->ezSetY($y); $y = $pdf->ezTable($data2, NULL,'', $params2); $data2 = array(); } if(isset($invoice['invoice'])) { $total = $invoice['total'] - $invoice['invoice']['total']; $totalbase = $invoice['totalbase'] - $invoice['invoice']['totalbase']; $totaltax = $invoice['totaltax'] - $invoice['invoice']['totaltax']; $y -= 10; $fy = $y - $margin - $pdf->GetFontHeight($font_size); text_align_right($xx-5,$fy,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT", trans('Difference value:')).''); $data2[0]['totalbase'] = ($totalbase>0 ? '+' : '') . iconv("UTF-8","ISO-8859-2//TRANSLIT", moneyf($totalbase)); $data2[0]['taxlabel'] = "x"; $data2[0]['totaltax'] = ($totaltax>0 ? '+' : '') . iconv("UTF-8","ISO-8859-2//TRANSLIT", moneyf($totaltax)); $data2[0]['total'] = ($total>0 ? '+' : '') . iconv("UTF-8","ISO-8859-2//TRANSLIT", moneyf($total)); $pdf->ezSetY($y); $y = $pdf->ezTable($data2, NULL,'', $params2); $data2 = array(); } $return[2] = $y; return $return; } function invoice_to_pay($x,$y) { global $pdf, $invoice; if(isset($invoice['rebate'])) $y = $y - text_align_left($x,$y,14,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('To repay:')).' '.iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($invoice['value']))); else $y = $y - text_align_left($x,$y,14,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('To pay:')).' '.iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($invoice['value']))); $y = $y - text_align_left($x,$y,10,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('In words:')).' '.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('$a dollars $b cents',to_words(floor($invoice['value'])),to_words(round(($invoice['value']-floor($invoice['value']))*100))))); return $y; } function invoice_expositor ($x,$y) { global $pdf, $invoice; $expositor = isset($invoice['user']) ? $invoice['user'] : $invoice['division_author']; $y = $y - text_align_left($x,$y,10,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Expositor:')).' '.iconv("UTF-8","ISO-8859-2//TRANSLIT",$expositor)); return $y; } function invoice_footnote($x, $y, $width, $font_size) { global $pdf, $invoice; if(!empty($invoice['division_footer'])) { $y = $y - $pdf->getFontHeight($font_size); $y = $y - text_align_left($x,$y,$font_size,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('Notes:')).''); $tmp = iconv("UTF-8","ISO-8859-2//TRANSLIT", $invoice['division_footer']); $tmp = preg_split('/\r?\n/', $tmp); foreach ($tmp as $line) $y = text_wrap($x,$y,$width,$font_size,$line,"full"); } } function data_for_user($x,$y) { global $pdf, $invoice, $CONFIG; $font_size=12; $scale=0.4; $pdf->setStrokeColor(0.8,0.8,0.8); //kolor wypelnienia $pdf->setlinestyle(16); $pdf->line($x,$y,560,$y); $pdf->setlinestyle(1); $pdf->rectangle($x+0.5,$y-8.5,529,-30); //ramka $pdf->setColor(0,0,0); text_align_left($x+10,$y-4,12,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('KWOTA DO ZAP��ATY'))); text_align_left($x+220,$y-4,12,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('S��OWNIE'))); text_align_left($x+361,$y-4,12,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('TERMIN P��ATNO��CI DO'))); text_align_left($x+49,$y-28,14,''.iconv("UTF-8","ISO-8859-2//TRANSLIT",moneyf($invoice['value'])).''); text_align_left($x+168,$y-28,10,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('$a dollars $b cents',to_words(floor($invoice['value'])),to_words(round(($invoice['value']-floor($invoice['value']))*100))))); text_align_left($x+392,$y-28,14,''.date("d.m.Y \\r.",$invoice['pdate']).''); $y = $y-70; text_align_left($x,$y,12,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('P��ATNO���� NA KONTO:'))); text_align_left($x+200,$y,12,iconv("UTF-8","ISO-8859-2//TRANSLIT",bankaccount($invoice['customerid']))); // $crc = sprintf("%010u", crc32($invoice['customerid'])); $tmp = docnumber($invoice['number'], $invoice['template'], $invoice['cdate']); text_align_left($x,$y-25,12,iconv("UTF-8","ISO-8859-2//TRANSLIT",trans('TYTU�� PRZELEWU:'))); // text_align_left($x+200,$y-24,12,iconv("UTF-8","ISO-8859-2//TRANSLIT","IDA".$invoice['customerid']."IDA"),950*$scale); text_align_left($x+200,$y-24,12,iconv("UTF-8","ISO-8859-2//TRANSLIT","Zap��ata za faktur�� VAT nr ".$tmp),950*$scale); $pdf->setStrokeColor(0,0,0); //kolor wypelnienia } function invoice_body_ft0100_druk() { global $pdf; global $template; global $ks_w; $template = 1; $ks_w = 1; // $page = $pdf->ezStartPageNumbers($pdf->ez['pageWidth']/2+10,$pdf->ez['pageHeight']-30,8,'',trans('Page $0 of $1', '{PAGENUM}','{TOTALPAGENUM}'),1); $top=$pdf->ez['pageHeight']-50; main_fill(186,8); simple_fill_mip(8,8); invoice_dates(500,$top); invoice_address_box(400,700); $top=invoice_title(30,$top); $top=$top-10; $top=invoice_seller(30,$top); $top=$top-10; $top=invoice_buyer(30,$top); $top=$top-10; $return=new_invoice_data(30,$top,530,7,2); invoice_expositor(30,$return[1]-20); $top=$return[2]-10; check_page_length($top, 200); $top=data_for_user(30,$top-25); $page = $pdf->ezStopPageNumbers(1,1,$page); } require_once(LIB_DIR.'/ezpdf/class.pdfbarcode.php'); //$template = 1; //$ks_w = 1; ?>