用PHP创建PDF中文文档

2016-01-29 14:44 14 1 收藏

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

【 tulaoshi.com - PHP 】

 

我使用的是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);

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

$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);

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

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);
}

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);
}

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

来源:https://www.tulaoshi.com/n/20160129/1494075.html

延伸阅读
标签: 电脑入门
很多网友反馈怎么给pdf文档加密?给PDF加密图老师小编推荐你用Adobe Acrobat软件,可以在网上下载! 具体加密方法如下: 1、打开一个任意的PDF文档; 2、选择菜单栏的文档; 3、选择文档里的安全性一栏; 4、再选择安全性里的显示本文档的安全性设置一栏 5、这样进入了文档属性对话框,用鼠标点击一下安全性方法,就会出现一个下拉菜单,然...
标签: PHP
此文章原文转自:http://blog.csdn.net/guoguo1980/archive/2006/08/18/1095523.aspx 此文章作者: guoguo1980   【导读】想象使用一个简单HTML文件来把一个请求发送到一个服务器端脚本,收到一个基于该请求的定制XML文件,然后把它显示给用户而几乎不需要刷新浏览器!本文作者将同你一起探讨怎样在普通Web应用程序中...
标签: PHP
What is PhpXref ? PHPXref (PHP Cross Referencing Documentation Generator),为一种开发文档生成工具,用于处理包含大量 PHP 文件的项目,为 PHP 源代码增加交叉参考,快速地为显示的 PHP 源代码添加书签链接,使得浏览源代码变得方便快速。其工作原理是遍历项目目录,将 PHP 文件的源代码翻译成可读性很强的 HTML 文件,同...
pdf文档怎么修改 要想修改pdf文档,首先用户需要在电脑上下载安装捷速PDF编辑器,安装的过程非常简单,这里就不做过多介绍了。 捷速PDF编辑器安装好之后,大家就可以双击打开该软件,然后可以看到如下软件主界面: 捷速PDF编辑器打开后,点击软件左上方的文件打开,在打开的窗口中找到需要修改的pdf文档,然后添加到软件...
标签: PHP
作者: Maco    hehe, 用 javascript :;"> PHP 去做 中文分词 并不是一个太明智的举动, :p 下面是我根据网上找的一个字典档, 简易实现的一个分词程序. (注: 字典档是gdbm格式, key是词 value是词频, 约4万个常用词) 完整的程序演示及下载请参见: http://root.twomice.net/my_php4/dict/chinese_se...

经验教程

236

收藏

85
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部