Unicode символы не отображаются в Zend_Pdf? - PullRequest
0 голосов
/ 23 июня 2009
require_once 'Zend/Pdf.php';
$pdf = new Zend_Pdf();
$page = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
$pdf->pages[] = $page;
$page->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA), 10);
$page->drawText("Bogus Russian: это фигня", 100, 400, "UTF-8");
$pdfData = $pdf->render();
header("Content-Disposition: inline; filename=output.pdf"); 
header("Content-type: application/x-pdf"); 
echo $pdfData;

Я не могу заставить русских персонажей появиться! Мне удалось заставить их показываться как:

Russian: ???????????
Russian: ÐоммÑнÐ
Russian: 
and
Russian: ><

Ответы [ 2 ]

0 голосов
/ 21 мая 2011

Этот пост объясняет это лучше: Как создать PDF-файлы _with_ utf-8 многобайтовых символов с использованием Zend Framework

По существу встроенные шрифты (например, Zend_Pdf_Font :: FONT_HELVETICA) не содержат достаточно информации, поэтому вам необходимо прикрепить файл шрифта ttf с pdf и настроить свой скрипт на использование этого шрифта.

$font = Zend_Pdf_Font::fontWithPath('/Library/Fonts/Times.ttf');
$pdfPage->setFont($font, 36);
0 голосов
/ 23 июня 2009

Возможно, это ответит на ваш вопрос:

Как создавать PDF-файлы _with_ utf-8 многобайтовых символов с использованием Zend Framework

Похоже, что шрифты по умолчанию не имеют всех символов utf-8 ... возможно, вам придется загрузить внешний TTF ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...