Создание PDF средствами PHP (FPDF, TCPDF)
1649 сообщений
#15 лет назад

Всем добрый день!
Столкнулся вот с какой проблемой:
Для одного своего скрипта создаю PDF документ средствами PHP. Все работает нормально, пока дело не доходит до спец символов и букв французкого(также и русского) языка.
Следующие символу не показываются в PDF. Вместо них кракозябры:
é à ç ... (хы. вот это показывается и у меня в PDF файле. Не сами буквы, а их коды, прикрепляю скрин с этими буквами, может кто то не учил французкий)
то есть буквы французкого языка. Пробовал сделать изначально с использованием библиотеки FPDF. Потом узнал что в ней не поддерживается UTF-8. Переходил на TCPDF, о котором пишут, что якобы поддерживает эту кодировку. Но увы, ситуация никак не изменилась.
Большая просьба, кто столкнулся с данной проблемой, ПОМОГИТЕ. Буду весьма благодарен.
PS: Проши всех писать в тему, с конкретными решениями(если таковы имеются). Перепробовал кучу способов решение, без результатов.

762 сообщения
#15 лет назад
Почитайте спецификацию, на сколько я помню, там нужно подключать шрифты...
2989 сообщений
#15 лет назад
Если делаете с помощью PDFlib попробуйте посмотреть функции pdf_findfont, pdf_setfont
2989 сообщений
1649 сообщений
#15 лет назад
Что то закалдовал.Вот что имею
require('include/lib/tcpdf_php4/tcpdf.php'

require('include/class/fpdf_extend.php'

$pdf= new PDF("P","pt",'A4',false,'UTF-8',true);
$pdf->SetFont('Arial','B',20);
//echo $r; тут в браузере символы выводятся нормально
$pdf->MultiCell(370,20, $text,0,"FJ",0);// а вот при записи в пдф лажа, выходят кракозябры, не то что надо
2989 сообщений
1649 сообщений
#15 лет назад
Кстати, сам решил проблемуМожет еще кому то понядобится:
$pdf->MultiCell(370,20,utf8_decode( $text),0,"FJ",0);

1649 сообщений
#15 лет назад
Более детально как это сделал. В БД поле храним в кодировку utf8_unicode_ci
Потом когда из базы читаем ставим чтоб брал текст с нужной кодировкой:
mysql_query("SET character_set_client = utf-8);
Подключаем библиотеку
require('include/lib/tcpdf_php4/tcpdf.php');
require('include/class/fpdf_extend.php');
Создаем новый документ и подключаем нужный шрифт
$pdf= new PDF("P","pt",'A4',false,'UTF-8',true);
$pdf->SetFont('Arial','B',20);
Пишем в файл
$pdf->MultiCell(370,20, utf8_decode($text),0,"FJ",0);