是否可以在UTF-8中呈现pdf。波斯字符还是阿拉伯字符?我不想用tcpdf。它在通过php脚本生成pdf时存在性能问题。我会尝试最新版本的php 5.4和pdflib 8.0.4p2,但我看不到有效的波斯语单词。
<?php
try {
$p = new PDFlib();
/* open new PDF file; insert a file name to create the PDF on disk */
if ($p->begin_document("", "") == 0) {
die("Error: " . $p->get_errmsg());
}
$p->set_info("Creator", "hello.php");
$p->set_info("Author", "Rainer Schaaf");
$p->set_info("Title", "Hello world (PHP)!");
$p->begin_page_ext(595, 842, "");
$font = $p->load_font("Courier", "unicode", "");
$p->setfont($font, 24.0);
$p->set_text_pos(50, 700);
$p->show("Hello world!");
$p->continue_text($p->utf8_to_utf16("(says PHP) سلام جهان", 'utf16'));
$p->end_page_ext("");
$p->end_document("");
$buf = $p->get_buffer();
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=hello.pdf");
print $buf;
}
catch (PDFlibException $e) {
die("PDFlib exception occurred in hello sample:\n" .
"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
$e->get_errmsg() . "\n");
}
catch (Exception $e) {
die($e);
}
$p = 0;发布于 2012-04-26 01:09:35
主要问题是Courier字体没有您要打印的阿拉伯文本的字形。如果你使用像Arial Unicode这样的字体,你会看到预期的结果。
另一个技巧是,使用$p->set_parameter("textformat", "utf8");,然后就可以像在$p->continue_text("(says PHP) سلام جهان x");中那样直接使用utf8
https://stackoverflow.com/questions/10282537
复制相似问题