当前位置:  开发笔记 > 编程语言 > 正文

如何使用Zend Framework生成pdf文件_with_ utf-8多字节字符

如何解决《如何使用ZendFramework生成pdf文件_with_utf-8多字节字符》经验,为你挑选了1个好方法。

我对Zend Framework Zend_Pdf类有一个"小"问题.从生成的pdf文件中删除多字节字符.例如,当我写aąbcčdeę时,它变为abcd,立法字母被剥离.

我不确定它是否特别是Zend_Pdf问题或一般的PHP.

源文本以utf-8编码,以及完成工作的php源文件.

预先感谢您的帮助 ;)

PS我运行Zend Framework v.1.6并使用FONT_TIMES_BOLD字体.FONT_TIMES_ROMAN确实有效



1> Bill Karwin..:

Zend_Pdf支持Zend Framework 1.5版中的UTF-8.但是,标准PDF字体仅支持Latin1字符集.这意味着您不能使用Zend_Pdf_Font::FONT_TIMES_BOLD任何其他"内置"字体.要使用特殊字符,您必须加载另一个包含其他字符集中的字符的TTF字体.

我使用Mac OS X,所以我尝试了以下代码,它生成了一个包含正确字符的PDF文档.

$pdfDoc = new Zend_Pdf();
$pdfPage = $pdfDoc->newPage(Zend_Pdf_Page::SIZE_LETTER);

// load TTF font from Mac system library
$font = Zend_Pdf_Font::fontWithPath('/Library/Fonts/Times New Roman Bold.ttf');
$pdfPage->setFont($font, 36);

$unicodeString = 'a?bc?de?';
$pdfPage->drawText($unicodeString, 72, 720, 'UTF-8');

$pdfDoc->pages[] = $pdfPage;
$pdfDoc->save('utf8.pdf');

另请参阅此错误日志:http: //framework.zend.com/issues/browse/ZF-3649

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有