КОДИРОВКА В СЧЕТЕ PDF VIRTUEMART V.2 (V.3) (INVOICE PDF ПО-РУССКИ)

КОДИРОВКА В СЧЕТЕ PDF VIRTUEMART V.2 (V.3) (INVOICE PDF ПО-РУССКИ)
Много вопросов уже возникало и много есть решений проблемы кирилицы или русского языка в 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.

Добавить комментарий