dongzhuo1733 2015-09-14 08:53
浏览 26

显示由PHP创建的PDF或PNG中的中文(和其他非拉丁语)字符

How can I display Chinese (and Russian and any character) in a PDF or PNG created by PHP. The example code below display two blocks, not 测试. If I try Arabian, I see text, but it looks different from the input.

<?php
// Set the content-type
header('Content-Type: image/png');

$text = '测试';
// Create the image
$im = imagecreatetruecolor(400, 200);

// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 1400, 600, $white);

// Replace path by your own font path
$font = 'fonts/DejaVuSans.ttf';

// Add the text
imagettftext($im, 40, 0, 10, 100, $black, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>

The font file is copied from my Ubuntu desktop.

I've tried the same creating a PDF using dompdf (with font DejaVuSans), which should be the end result, but that failed too. I guess it's the same problem. I tried tcpdf, which displays Russian and Arabian, so that is an improvement.

If I can create a PNG or something that can be used inside the PDF, that will do as well.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
    • ¥20 腾讯企业邮箱邮件可以恢复么
    • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
    • ¥15 错误 LNK2001 无法解析的外部符号
    • ¥50 安装pyaudiokits失败
    • ¥15 计组这些题应该咋做呀
    • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
    • ¥15 让node服务器有自动加载文件的功能
    • ¥15 jmeter脚本回放有的是对的有的是错的