Jump to content

[vyřešeno] PDF faktura znaky Kč PS 1.4.4.1.


Radek100

Recommended Posts

Zdravím, prosím o radu, upgradoval jsem prestu 1.4.1. na 1.4.4.1. V PDF u faktur se mi nezobrazovala správně čeština, což jsem vyřešil překopírováním písma z původní verze do složky tools/fpdf/font. Čeština se zobrazuje správně, ovšem místo znaků Kč se zobrazuje KÄT. Vím, že je potřeba ještě upravit soubor PDF.php ze složky Classes, vzhledem k tomu, že soubor PDF.php se v nové verzi 1.4.4.1. liší oproti 1.4.1., tak si nějak nevím rady. Máte to prosím někdo už pořešené?

 

Našel jsem v diskuzích tuto úpravu řádku 257

původní:

 $this->Cell(190, 5, ' '."\n".Tools::iconv('utf-8', self::encoding(), 'P. ').$this->GroupPageNo().' / '.$this->PageGroupAlias(), 'T', 1, 'R');

 

nový:

$this->Cell(190, 5, ' '.Tools::iconv('utf-8', self::encoding(), 'P. ').$this->GroupPageNo().' / '.$this->PageGroupAlias(), 'T', 1, 'R');

 

Problém s Kč to bohužel nevyřešilo...

Díky předem za pomoc.

Link to comment
Share on other sites

Nepomohlo ani jedno, po delší době, jsem přišel na to, že je potřeba kód v souboru Classes/PDF.php, který začíná na řádku 1099:

static protected function convertSign($s)
{
 $arr['before'] = array('€', '£', '¥');
 $arr['after'] = array(chr(128), chr(163), chr(165));
 return str_replace($arr['before'], $arr['after'], $s);
}

 

doplnit o jeden řádek a má to vypadat tedy takhle:

static protected function convertSign($s)
{
 $arr['before'] = array('€', '£', '¥');
 $arr['after'] = array(chr(128), chr(163), chr(165));
 $s = Tools::iconv('utf-8', self::encoding(), $s);
 return str_replace($arr['before'], $arr['after'], $s);
}

 

jedině s tim mi to fungovalo, je divný, že jsem to nikde nenanšel, to co píšeš Pavle, tak to nová 1.4.4.1. vůbec neobsahuje :-)

 

mějte se

Link to comment
Share on other sites

  • 4 weeks later...

pokud tomu dobře rozumím, mělo by stačit poslední řádek upravit takto

return str_replace($arr['before'], $arr['after'], iconv('UTF-8','CP1250',$s));

 

případně tvá úprava

 

return str_replace($arr['before'], $arr['after'], iconv('UTF-8',self::encoding(),$s));

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...