用PHP创建PDF中文文档

索斯幽魂

索斯幽魂

2016-01-29 14:44

用PHP创建PDF中文文档,用PHP创建PDF中文文档
 

我使用的是FPDF(www.fpdf.org),下载了fpdf类库后,还要使用下面的中文类库才能支持中文,但只能使用一种中文字体(华文仿宋)。为此我烦恼了很长时间,现在终于搞定了,将TrueType字体转化为pt1字体使用:

下面是在FPDF上找的一个中文类库:
<?php
require('fpdf.php');

$Big5_widths=array(' '=250,'!'=250,'"'=408,'#'=668,'$'=490,'%'=875,'&'=698,'''=250,
'('=240,')'=240,'*'=417,'+'=667,','=250,'-'=313,'.'=250,'/'=520,'0'=500,'1'=500,
'2'=500,'3'=500,'4'=500,'5'=500,'6'=500,'7'=500,'8'=500,'9'=500,':'=250,';'=250,
'<'=667,'='=667,''=667,'?'=396,'@'=921,'A'=677,'B'=615,'C'=719,'D'=760,'E'=625,
'F'=552,'G'=771,'H'=802,'I'=354,'J'=354,'K'=781,'L'=604,'M'=927,'N'=750,'O'=823,
'P'=563,'Q'=823,'R'=729,'S'=542,'T'=698,'U'=771,'V'=729,'W'=948,'X'=771,'Y'=677,
'Z'=635,'['=344,''=520,']'=344,'^'=469,'_'=500,'`'=250,'a'=469,'b'=521,'c'=427,
'd'=521,'e'=438,'f'=271,'g'=469,'h'=531,'i'=250,'j'=250,'k'=458,'l'=240,'m'=802,
'n'=531,'o'=500,'p'=521,'q'=521,'r'=365,'s'=333,'t'=292,'u'=521,'v'=458,'w'=677,
'x'=479,'y'=458,'z'=427,'{'=480,'|'=496,'}'=480,'~'=667);

$GB_widths=array(' '=207,'!'=270,'"'=342,'#'=467,'$'=462,'%'=797,'&'=710,'''=239,
'('=374,')'=374,'*'=423,'+'=605,','=238,'-'=375,'.'=238,'/'=334,'0'=462,'1'=462,
'2'=462,'3'=462,'4'=462,'5'=462,'6'=462,'7'=462,'8'=462,'9'=462,':'=238,';'=238,
'<'=605,'='=605,''=605,'?'=344,'@'=748,'A'=684,'B'=560,'C'=695,'D'=739,'E'=563,
'F'=511,'G'=729,'H'=793,'I'=318,'J'=312,'K'=666,'L'=526,'M'=896,'N'=758,'O'=772,
'P'=544,'Q'=772,'R'=628,'S'=465,'T'=607,'U'=753,'V'=711,'W'=972,'X'=647,'Y'=620,
'Z'=607,'['=374,''=333,']'=374,'^'=606,'_'=500,'`'=239,'a'=417,'b'=503,'c'=427,
'd'=529,'e'=415,'f'=264,'g'=444,'h'=518,'i'=241,'j'=230,'k'=495,'l'=228,'m'=793,
'n'=527,'o'=524,'p'=524,'q'=504,'r'=338,'s'=336,'t'=277,'u'=517,'v'=450,'w'=652,
'x'=466,'y'=452,'z'=407,'{'=370,'|'=258,'}'=370,'~'=605);

class PDF_Chinese extends FPDF
{
function AddCIDFont($family,$style,$name,$cw,$CMap,$registry)
{
$i=count($this-fonts)+1;
$fontkey=strtolower($family).strtoupper($style);
$this-fonts[$fontkey]=array('i'=$i,'type'='Type0','name'=$name,'up'=-120,'ut'=40,'cw'=$cw,'CMap'=$CMap,'registry'=$registry);
}

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

function AddBig5Font($family='Big5')
{
$cw=$GLOBALS['Big5_widths'];
$name='MSungStd-Light-Acro';
$CMap='ETenms-B5-H';
$registry=array('ordering'='CNS1','supplement'=0);
$this-AddCIDFont($family,'',$name,$cw,$CMap,$registry);
$this-AddCIDFont($family,'B',$name.',Bold',$cw,$CMap,$registry);
$this-AddCIDFont($family,'I',$name.',Italic',$cw,$CMap,$registry);
$this-AddCIDFont($family,'BI',$name.',BoldItalic',$cw,$CMap,$registry);
}

function AddGBFont($family='GB')
{
$cw=$GLOBALS['GB_widths'];
$name='STSongStd-Light-Acro';
$CMap='GBKp-EUC-H';
$registry=array('ordering'='GB1','supplement'=2);
$this-AddCIDFont($family,'',$name,$cw,$CMap,$registry);
$this-AddCIDFont($family,'B',$name.',Bold',$cw,$CMap,$registry);
$this-AddCIDFont($family,'I',$name.',Italic',$cw,$CMap,$registry);
$this-AddCIDFont($family,'BI',$name.',BoldItalic',$cw,$CMap,$registry);
}

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

function GetStringWidth($s)
{
if($this->

展开更多 50%)
分享

猜你喜欢

用PHP创建PDF中文文档

PHP
用PHP创建PDF中文文档

jquery.ui.draggable中文文档

Web开发
jquery.ui.draggable中文文档

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

jquery.ui.progressbar 中文文档

Web开发
jquery.ui.progressbar 中文文档

怎样在php中使用PDF文档功能

PHP
怎样在php中使用PDF文档功能

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用PHP生成PDF文件 with FPDF

PHP
用PHP生成PDF文件 with FPDF

基于PHP与XML的PDF文档生成技术

PHP
基于PHP与XML的PDF文档生成技术

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

将Oracle的数据导入EXCEL中的方法

将Oracle的数据导入EXCEL中的方法

在UNIX平台上的Netscape Enterprise Server 3.x下配置PHP

在UNIX平台上的Netscape Enterprise Server 3.x下配置PHP
下拉加载更多内容 ↓