Автор Тема: счета PDF для 1.5.2: вопросы вместо русских букв  (Прочитано 3756 раз)

27 Октябрь 2012, 20:46:33
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Интернет облазил, настройки шрифтов для счетов в админке не нашел. Как быть?
28 Октябрь 2012, 13:12:47
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
28 Октябрь 2012, 14:03:51
Ответ #2
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ответ на форуме смотрел. Эти решения мне не помогли, о чем писал.
Решение:
в файле classes/pdf/PDFGenerator.php в самом начале вместо
const DEFAULT_FONT = ‘helvetica’;
написать:
const DEFAULT_FONT = ‘freeserif’;
28 Октябрь 2012, 16:51:36
Ответ #3
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102503
  • Репутация: +34219/-0
    • Просмотр профиля
Цитата: DarinSr
Нужно было на форуме поискать, тут уже обсуждали.
счет PDF
Проблема при создании PDF счета
это для версий 1.4
В prestashop 1.5 использование fpdf и tcpdf включено в стандартную сборку.
Для использования русского языка, достаточно выставить локальные настройки.
28 Октябрь 2012, 19:50:31
Ответ #4
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Локальные настройки русские устанавливал в админке, не помогало. Что конкретно надо установить и как? Хотя сейчас в принципе все работает, решение - замена шрифта (см выше), версия 1-5-2
29 Октябрь 2012, 11:29:55
Ответ #5
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 105673
  • Репутация: +39553/-0
    • Просмотр профиля
    • Webstudio UwK
Цитата: golfp-96
Ответ на форуме смотрел. Эти решения мне не помогли, о чем писал.
Решение:
в файле classes/pdf/PDFGenerator.php в самом начале вместо
const DEFAULT_FONT = ‘helvetica’;
написать:
const DEFAULT_FONT = ‘freeserif’;
На форуме обсуждали замену fpdf на tcpdf и использование кодировки UTF-8 или UTF-16
Цитировать
...
- скачатьTCPDF  с  http://sourceforge.net/projects/tcpdf/files/
- распаковать, шрифты находяться в /tcpdf/fonts
- выберите файлы freesans.* и перенесите на ваш сайт в папку /prestashop/tools/tcpdf/fonts/
.....
1. Измените AdminPDF.php
$fontFiles = scandir(PS_FPDF_PATH.’font’);
на
$fontFiles = scandir(PS_TCPDF_PATH.’fonts’);

2. Измените PDF.php
....
Изменения нужно было вносить для prestashop версий 1.4
Цитировать
В prestashop 1.5 использование fpdf и tcpdf включено в стандартную сборку.
Для использования русского языка, достаточно выставить локальные настройки.
Для prestashop 1.5.0. только установить использовать шрифт  "freeserif", все остальное делать не нужно.
Для использования UTF-8 или UTF-16 (в админке нет возможности сменить кодировку для PDF), подключить шрифты "freeserif" можно 2 способами:
1. Как написано выше, изменить класс ядра
classes\pdf\PdfGenerator.php
Найти
<?php
....
const 
DEFAULT_FONT 'helvetica';
Заменить на
<?php
....
const 
DEFAULT_FONT 'freeserif';
2.  Перегрузить метод setFontForLang в классе PDFGenerator
/override/classes/pdf/PDFGenerator.php
<?php
class PDFGenerator extends PDFGeneratorCore
{
        public function 
setFontForLang($iso_lang)
        {
                 
$this->setFont('freeserif');
        }
}
Cоздание интернет сайтов Webstudio UwK