TCPDF无法显示西里尔文

时间:2012-02-02 21:38:22

标签: php pdf tcpdf

我正在尝试使用TCPDF以pdf格式输出西里尔文。

我尝试过使用UTF-8,Windows-1251。我已将Unicode更改为FALSE和TRUE,以进行测试,但我只是得到了?我尝试使用默认和文件中的字体,但结果相同,我尝试使用setsubsettings,再次,没有结果。怎么了?

3 个答案:

答案 0 :(得分:17)

将字体设置为freeserif为我做了 - 默认/ helvetica字体:不可读的西里尔字符; freeserif:俄语可读。

// set default font subsetting mode
$pdf->setFontSubsetting(true);

// set font
$pdf->SetFont('freeserif', '', 12);

http://www.tcpdf.org/examples/example_008.phps

答案 1 :(得分:0)

替换SetFont

$pdf->SetFont('dejavusans', '', 10);

答案 2 :(得分:0)

改为使用TFPDF。

在此处检查源: http://www.fpdf.org/en/script/script92.php

例如:

<?php

// Optionally define the filesystem path to your system fonts
// otherwise tFPDF will use [path to tFPDF]/font/unifont/ directory
// define("_SYSTEM_TTFONTS", "C:/Windows/Fonts/");

require('tfpdf.php');

$pdf = new tFPDF();
$pdf->AddPage();

// Add a Unicode font (uses UTF-8)
$pdf->AddFont('DejaVu','','DejaVuSansCondensed.ttf',true);
$pdf->SetFont('DejaVu','',14);

// Load a UTF-8 string from a file and print it
$txt = file_get_contents('HelloWorld.txt');
$pdf->Write(8,$txt);

// Select a standard font (uses windows-1252)
$pdf->SetFont('Arial','',14);
$pdf->Ln(10);
$pdf->Write(5,'The file size of this PDF is only 13 KB.');

$pdf->Output();
?>