Cпасибо за ответ!
Уточняю ссылки на пошаговые инструкции !
это оригиналавтор zuzul Posted 30 November 2008 - 10:31 PM #33
это копияавтор roof 17 апреля 2012 11:41
есть еще один автор
Avladвот что он предлагает:
Поскольку от французов толку ноль, новых версий и багфиксов пока не ожидается - пришлось разбираться самостоятельно. В моем случае задача усложняется тем, что мне нужны инвойсы не только на русском, а и в CP1257. А как известно, эти кодировки между собой не совместимы.
........
В общем, я проинсталировал ufpdf, сделал фонты для него, пофиксил его самого и переписал pdf.php на работу с utf-8.
В результате все заработало - теперь инвойсы нормально печатаются в utf-8 в любой кодировке.
ufpdf - это надстройка над fpdf, позволяющая работать в utf-8.
В оригинальном виде работать у меня не захотела,
пропатчил в ней следующее в function AddFont:
// if(defined('FPDF_FONTPATH'))
// $file=FPDF_FONTPATH.$file;
if(!defined('FPDF_FONTPATH'))
$this->_getfontpath();
$file=FPDF_FONTPATH.$file;
Кладем ufpdf.php рядом с fpdf.php - в tools/fpdf
Далее занимаемся генерацией шрифтов для ufpdf в соответствии с readme к ней.
Шрифты этой надстройке нужны другие - в UTF-8, и шрифты для fpdf не подойдут.
Процесс генерации шрифтов проходит в 3 этапа.
Сперва берем желаемые .ttf шрифты, содержащие весь нужный нам набор символов.
1) Генерируем метрику .ufm при помощи программки ttf2ufm $ ttf2ufm -a -F myfont.ttf
2) Запускаем makefontuni.php с аргументами .ttf и .ufm : $ php -q makefontuni.php myfont.ttf myfont.ufm
3) Результирующие .php, .z и .ctg.z копируем в tools/fpdf/font
Теперь нужно переделать модуль pdf.php, чтобы он больше не конвертировал utf-8 в какую-либо другую кодировку, а отдавал непосредственно utf-8.
Для начала вызываем ufpdf вместо fpdf:
require(_PS_FPDF_PATH_.'ufpdf.php');
class PDF extends UFPDF
Далее я выбрал фонт verdana и вписал так:
private static $_pdfparams = array(
'CS' => array(
'encoding' => 'utf-8',
'font' => 'verdana')
Затем описал используемые фонты в fpdf_core_fonts и еще в самом конце модуля заменил фонт:
static private function fontname()
{
$font = self::embedfont();
return $font ? $font : 'verdana';
}
Еще нужно описать используемые фонты в fpdf.php в функции CoreFonts по образу и подобию имеющегося описания.
После всей этой процедуры presta начала нормально печатать в utf-8.
.....................
я попробовал оба варианта tcpdf и ufpdf
вместо букв ā č ē ī ģ ķ ļ ņ š ū ž выводятся русские буквы в и з о м н п т р ы ю
По-прежнему поддержка UTF8 отсутствует!
В пору вообще отказаться от вывода счета в формате PDF?
А на что заменить?