【问题标题】:Unicode characters not showing in Zend_Pdf?Zend_Pdf 中未显示 Unicode 字符?
【发布时间】:2009-06-23 12:04:06
【问题描述】:
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: ><

【问题讨论】:

    标签: pdf unicode utf-8


    【解决方案1】:

    这篇文章更好地解释了它: How to generate pdf files _with_ utf-8 multibyte characters using Zend Framework

    基本上内置字体(例如 Zend_Pdf_Font::FONT_HELVETICA)不包含足够的信息,因此您需要在 pdf 中附加一个字体 ttf 文件,并将您的脚本设置为使用该字体。

    $font = Zend_Pdf_Font::fontWithPath('/Library/Fonts/Times.ttf');
    $pdfPage->setFont($font, 36);
    

    【讨论】:

      【解决方案2】:

      也许这会回答你的问题:

      How to generate pdf files _with_ utf-8 multibyte characters using Zend Framework

      从外观上看,默认字体并不包含所有 utf-8 字符...您可能需要加载外部 TTF...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-30
        • 2012-08-08
        • 1970-01-01
        • 2015-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多