站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Joomla/Joomla! 1.5生成中文PDF的解决方案
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{Joomla top}} 原版的 [[Joomla!]] 1.5 RC1 无法支持中文[[PDF]],在中文文章中一旦点击“pdf”按钮,则生成的PDF页面里面中文都是乱码。本条目就来阐述一下Joomla! 1.5生成中文PDF的解决方案。 ==解决方案== 在 Joomla! 1.5 的 /language 文件夹里面还有一个目录叫作 pdf_fonts。必须制作出对应中文的、包含所有中文字符的PDF字体,才能实现对中文的PDF支持。这个字体文件必须存放在 /language/pdf_fonts 目录内,并且需要在对应语言的 [[xml]] 文件中声明这个字体用于生成 PDF 文件。现在方案就很清楚了:制作一个字体文件;将这个文件放到指定目录;编辑 xml 文件声明这个字体。 字体文件还不简单吗?在 [[windows]] [[操作系统]]的 c:\windows\fonts 目录里面已经自带了400多个字体文件,难道还挑不出一个能用的吗?然而,当打开 Joomla! 1.5 的 /language/pdf_fonts 目录,我发现我把这个问题想简单了。这个目录里面根本没有 .ttf 字体文件,而是 .z 格式的文件: [[Image:Joomla! pdf 1.png]] 同时,在 /language/en-GB/en-GB.xml 文件中的 21 行左右,发现了如下代码: <pdfFontName>vera</pdfFontName> 可以看出,英文页面生成PDF所用的字体文件名称是“vera”,同时需要提供 vera.php 、vera.z 和 vera.ctg.z 三个文件。 ==具体过程== ===字体源的选择=== 考虑到.ufm文件必须由unicode字体文件产生,挑选了 c:\windows\fonts 目录里面的 stsong.ttf 文件([[华文宋体]]),如果你没有这个字体,可以在网上下载到。之所以没有选用“宋体”,是因为“宋体”所对应的字体文件为 simsun.ttc,不是 .ttf 格式。 ===生成.ufm文件=== 在 J:\xampp\php 中创建新目录 ttf2ufm,将 ttf2ufm 工具的两个文件复制进去。然后将 c:\windows\fonts\stsong.ttf 文件复制进去。运行 winXP 的命令行模式,进入到J:\xampp\php\ttf2ufm 目录,输入以下命令: J:\xampp\php\ttf2ufm>ttf2ufm -a -F stsong.ttf 算机开始生成 .ufm 文件,这个过程比较漫长,要耐心等待。屏幕显示如下图所示: [[Image:Joomla! pdf 2.png]] 大约经过3分钟时间,会提示: <pre> FontName STSong No Kerning data No Kerning data Finished - font files created </pre> 这表示转换完成。这时会发现 J:\xampp\php\ttf2ufm 文件夹中多出了3个文件,分别是 stsong.afm 、stsong.t1a 和 stsong.ufm,如下图所示: [[Image:Joomla! pdf 3.png]] ==生成.z字体文件== 现在该用到php.exe这个命令了。由于该文件位于 J:\xampp\php\ttf2ufm 上一层目录,所以我们在命令行模式下执行下面的命令: J:\xampp\php\ttf2ufm>..\php -q makefontuni.php stsong.ttf stsong.ufm 这个命令开头的两个点(..)表示当前目录的上级目录。输入这个命令并回车之后,电脑似乎没有任何反应,大约15秒钟之后,提示“字体文件压缩成功”: [[Image:Joomla! pdf 4.png]] 这时可以看到在 J:\xampp\php\ttf2ufm 文件夹中又多出了3个文件:stsong.php 、stsong.z 和 stsong.ctg.z ,正是我们所需要的!如下图所示: [[Image:Joomla! pdf 5.png]] ==测试PDF效果== 将刚才得到的 stsong.php 、stsong.z 和 stsong.ctg.z 三个文件复制到 Joomla! 1.5 的 /language/pdf_fonts 目录里,然后编辑 /language/zh-CN/zh-CN.xml 文件,将20行左右的PDF字体声明代码修改为: <pdfFontName>stsong</pdfFontName> 请注意:当打开 /language/zh-CN/zh-CN.xml 文件后会发现原来所设置的PDF字体文件竟然跟英文一样,也是 vera!很明显vera字体不支持中文字符,因此这才是中文PDF出现乱码的根源。 按照上述方法修改 /language/zh-CN/zh-CN.xml 文件后保存,然后测试 Joomla! 1.5,在前台中文页面上点击“PDF”按钮,会看到终于输出了正常的中文页面! ==参考来源== http://www.joomlagate.com/article/joomla15-tutorial/how-to-generate-pdf-for-chinese-article-in-joomla15/ {{Joomla 1.5}} [[category:Joomla|J]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:Joomla 1.5
(
编辑
)
模板:Joomla top
(
编辑
)