Logo
Версия для печати

Кодировка в счете PDF Virtuemart v.2 (v.3) (invoice pdf по-русски)

  • Автор  SeRbGa

Все привет!

Много вопросов уже возникало и много есть решений проблемы кирилицы или русского языка в PDF инвойсах (счетах, invoice ).

Остановлюсь на вопросах и буду давать краткие ответы.

Для начала ОБЯЗАТЕЛЬНО!!!:

1) скачиваем кирилические шрифты тут (TCPDF) в разделе Download или можно тут tcpdf_6_0_099

2) Разархивируем и из папки fonts копируем содержимое к себе на сервер в папку

ваш_сайт/libraries/tcpdf/fonts

Вопрос 1

на сайте при просмотре товара есть кнопка PDF - при ее нажатии генерируется pdf файл а вместо текста вопросы

Ответ 1

Открываем файл в дримвивере, блокноте или каким редактором кода вы пользуетесь

ваш_сайт/libraries/joomla/document/pdf/pdf.php, находим строку

$pdf->SetFont('helvetica', '', 8, '', 'false'); и заменяем на $pdf->SetFont('freesans', '', 6, '', 'false');

В этом же файле находим var $_header_font" и "var $_footer_font" заменяем на

var $_header_font = 'freesans';

var $_footer_font = 'freesans';

 

Вопрос 2

Счет PDF в Virtuemart 2 или 3 вместо текста вопросы.

Ответ 2

Идем в VirtueMart - Магазин - вкладка "Счета" и в блоке "Внешний вид" в списке "Шрифт по умолчанию" выбрать Free Mono (UTF-8 Unicide).

 

Вопрос 3

В Virtuemart 2 или 3 в меню Магазин-Счета нет доступных шрифтов.

Ответ 3

Идем в VirtueMart - Магазин - вкладка "Счета" и в блоке "Внешний вид" в списке "Шрифт по умолчанию" видм что ничего нет.

открывем файл components/com_virtuemart/helpers/vmpdf.php

Эту строку комментируем // $this->SetFont($vmFont, '', $this->vendor->vendor_letter_font_size, '', 'false'); 
Эту вставляем $this->SetFont('freesans', '', '8', '', 'false');

тем самым мы напрямую говорим virtuemart, что шрифт у нас по умолчанию для генерации PDF freesans.

 

 

Вопрос 4

Счет PDF в Virtuemart 2 или 3 вместо текста знаки вопроса.

Ответ 4

         Открываем файл: /components/com_virtuemart/controllers/invoice.php

Ищем следующее значение: $pdf->setHeaderFont(Array('helvetica', '', 8));

Изменяем на: $pdf->setHeaderFont(Array('freesans', '', 8));

Ищем значение: $pdf->setFooterFont(Array('helvetica', '', 10));

Изменяем на: $pdf->setFooterFont(Array('freesans', '', 10));

Ищем значение: $pdf->SetFont('helvetica', '', 8, '', true);

Изменяем на: $pdf->SetFont('freesans', '', 8, '', true);

Ищем значение: $this->SetFont('helvetica', 'I', 8);

Изменяем на: $this->SetFont('freesans', 'I', 8);

       Дальше открываем файл /components/com_virtuemart/helpers/vmpdf.php

Ищем следующее значение: $this->setHeaderFont(Array('helvetica', '', 8));

Изменяем на: $this->setHeaderFont(Array('freesans', '', 8));

Ищем следующее значение: $this->setFooterFont(Array('helvetica', '', 10));

Изменяем на: $this->setFooterFont(Array('freesans', '', 10));

Ищем следующее значение: $this->SetFont('helvetica', '', 8, '', true);

Изменяем на: $this->SetFont('freesans', '', 8, '', true);

Ищем следующее значение: $this->SetFont('helvetica', 'I', 8);

Изменяем на: $this->SetFont('freesans', 'I', 8);

Если таких значений у вас в коде нет, Не беда отправляемся в пункт вопрос №3

 

 

 

Вопрос 5

tcpdf error: the xobject template '' doesn't exist! что за ошибка?

Ответ 5

затронуто ядро генерации - надо обновить полностью Virtuemart 2 или 3.

 

 

Вот вроде и все, что на сегодняшний день было изучено по этому вопросу. Если есть еще - пишите в комментах.

 

Последнее изменениеСреда, 19 Ноябрь 2014 12:08
  • Оцените материал
    (3 голосов)
  • Опубликовано в Web coding
  • Прочитано 20528 раз
SeRbGa

SeRbGa

мечтатель

Сайт: www.serbga.ru

Оставить комментарий

SeRbGa