PHP中PDF正常输出中文

日期:2006-08-04  作者:喜腾小二  来源:PHPChina


转自:http://bbs.chinaunix.net/viewthread.php?tid=801242

/* $Id: hello.php,v 1.14 2004/05/23 11:34:03 tm Exp $
*
* PDFlib client: hello example in PHP
*/
$p = PDF_new();
/*  open new PDF file; insert a file name to create the PDF on disk */
if (PDF_begin_document($p, "", "") == 0) {
    die("Error: " . PDF_get_errmsg($p));
}
/* This line is required to avoid problems on Japanese systems */
PDF_set_parameter($p, "hypertextencoding", "winansi");
PDF_set_parameter($p, "SearchPath", "C:\WINNT\Fonts");
PDF_set_info($p, "Creator", "hello.php");
PDF_set_info($p, "Author", "Rainer Schaaf");
PDF_set_info($p, "Title", "Hello world (PHP)!");

PDF_begin_page_ext($p, 595, 842, "");
//$font = PDF_load_font($p, "Helvetica-Bold", "winansi", "");
$font = PDF_load_font($p, "AdobeSongStd-Light-Acro", "UniGB-UTF16-H", "");
//PDF_setfont(p, font, 24);
//UniGB-UTF16-H    STSong-Light
PDF_setfont($p, $font, 24.0);
PDF_set_text_pos($p, 50, 700);
$text = iconv("gb2312","UTF-16","离离原上草一岁一枯荣");
PDF_show($p, $text);
$text1 = iconv("gb2312","utf-16","(says PHP)");
PDF_continue_text($p, $text1);
PDF_end_page_ext($p, "");
PDF_end_document($p, "");
$buf = PDF_get_buffer($p);
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=hello.pdf");
print $buf;
PDF_delete($p);
?>
困扰了一段时间,今天试成了!以上代码在用户装好Pdflib和Iconv前提下可以运行成功!

<<<返回技术中心

技术文章

站内新闻

我要啦免费统计