Кирилица в pdf... как?

Dima_2008

Новичок
Кирилица в pdf... как?

Вот пример, почти из мана. При генерации проблема с кирилическими символами, вернее с тем, что вы они выводятся в виде каракуль.

PHP:
<?php

$pdf = pdf_new();

if (!pdf_open_file($pdf, "")) {
    print error;
    exit;
};

pdf_set_parameter($pdf, "warning", "true");

pdf_set_info($pdf, "Creator", "index.php");
pdf_set_info($pdf, "Author", "Author");
pdf_set_info($pdf, "Title", "Title");

pdf_begin_page($pdf, 595, 842);
pdf_add_outline($pdf, "Page 1");
pdf_set_font($pdf, "Arial Cyr", 30, "host");
pdf_set_value($pdf, "textrendering", 1);
pdf_show_xy($pdf, "пробное сообщение", 50, 750);
pdf_moveto($pdf, 50, 740);
pdf_lineto($pdf, 330, 740);
pdf_stroke($pdf);

pdf_end_page($pdf);

pdf_close($pdf);

$buf = pdf_get_buffer($pdf);
$len = strlen($buf);

header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=foo.pdf");
print $buf;

pdf_delete($pdf);
?>
Подскажите, что нужно поправить.
 

postovik

Новичок
Похоже, что здесь используются встроеные в php_pdf.dll шрифты а не системные, а там наверное кирилицу забыли впихнуть :)

-~{}~ 09.12.05 21:39:

Попробуй перед строкой
PHP:
 pdf_set_font($pdf, "Arial Cyr", 30, "host");
вставить строку
PHP:
 pdf_set_parameter($pdf, 'FontOutline', 'Arial Cyr=путь к aricyr.ttf');
Должно помочь;)
 

Dima_2008

Новичок
Спасибо за вариант, не прокатило.
Более того, сейчас думал, что может это у меня какая локальная проблема... залил этот скрипт к хостеру, там он вообще не работает :(.
 

bkonst

.. хочется странного?...
Re: Кирилица в pdf... как?

Ну, во-первых, pdf_set_font - устаревшая функция; в новой pdflib следует пользоваться pdf_findfont + pdf_setfont - возможно поэтому скрипт и не работает у хостера.

Во-вторых, желательно вместо кодировки "host" указать "cp1251" при вызове pdf_set_font / pdf_findfont.
 
Сверху