Joomla!® 文章
- 新闻
- 入门
- 给 XAMPP for Windows 添加 FFMPEG 和 FLVTOOL2 支持
- 如何只显示 Joomla! 模板的组件部分
- 为什么 Joomla! 的 User ID 从 62 开始?
- 用 Gmail 的免费 SMTP 发送 Joomla! 激活及通知邮件
- 用 XAMPP 快速搭建 Joomla! 本地测试服务器
- 用 joomMyAdmin 管理数据库:即插即用的 phpMyAdmin
- 殊途同归:SMF论坛的Orstio桥接法
- 天上掉馅饼:Lunarpages.com 超大空间使用手记
- 解决安装Joomla!时“Session Save Path 不可写”问题的三个途径
- Joomla to Blog 的一些小小心得
- 教程
- 人物
- Hazzaa Kassis 给你一个 Agora 论坛
- Bjarne Mortensen 和 Vlad Tursin:领导精干团队开发高级 Joomla 扩展
- Radek Suski 和 Sigrid Suski:夫妻开店共推 SOBI2
- Joe Guo:独具匠心的 Joomla! 1.5 扩展开发者
- Yuri Volkov 首开 Joomla! 1.5 文章评论组件之路
- Matias Aguirre 帮助你迁移 Joomla! 1.0 到 Joomla! 1.5
- Yustar:中国 Joomla! 拓荒者之一
- Ümit Kenan Gönüllü: 土耳其 Joomla! 社区的领军人物
- Autoit:中国 Joomla! 界第一高手
- Niranjan Srinivasa Rao:爷爷级的 Joomla! 发烧友
- 评论
- 21321
作者: zhangchen - http://www.joomlagate.com/download/joomla15-extens...
作者: LiNGX - 他的网站全都打不开了啊
作者: liuyouhui - 想用JOOMLA自带文章系统做 产品展示,在使用 ReadmoreExt或者BK thumb的是候,...
作者: mensah - 老白分析的很好,但是我要纠正一 下有一点错误,保时捷汽车的巴西 网站是用WordPress 3.2搭...
作者: rigxin - 对Joomla有了基本认识。是 不是所有的下载都要是付费会员才 能下载啊?
作者: cherilead
- 21321
Joomla! 下载
- 视频
-
2010-12-01 
高清视频教程:Kunena Forum 论坛组件用法详解2010-11-10 
高清视频教程:用 Artio JoomSEF 为 Joomla 生成伪静态友好网址2010-09-28 
高清视频教程:用 Dinamods 实现多个模块叠放的多标签页效果2010-08-10 
高清视频教程:FeedBingo for J1.5 文章采集器组件用法详解2010-08-03 
高清视频教程:LyftenBloggie 多用户博客系统详解2010-07-26 
高清视频教程:AcyMailing 电子报组件用法详解 - J1.5 扩展
- J1.7 扩展
- J! 核心
-
2012-02-03 
Joomla! CMS 核心 v1.7.5 正式稳定版简、繁、英多国语言版2012-02-03 
Joomla! CMS 核心 v2.5.1 正式稳定版简、繁、英多国语言版2011-12-08 
Joomla! 1.7.3 独立简体中文语言包(适合已安装英文原版核心的网站)2011-11-14 
Joomla! CMS 核心 v1.5.25 简繁中文深入汉化版2011-07-31 
Joomla! CMS 核心 v1.6.6 稳定版 简、繁、英多国语言版2010-11-09 
外贸专用 Joomla! 1.5 核心中文集成版(单语种) - 免费
-
2011-08-27 
XAMPP for windows 集成AMP服务器 v1.7.4 解压安装版2010-11-23 
Tiki for Smarties 电子书(Tikiwiki 教程)2010-11-21 
FileZilla for Windows 免费 FTP 客户端软件 v3.3.5 多国语言版2010-11-08 
Simple Machines Forum(SMF2)论坛程序 2.0 RC4 多国语言版2010-10-17 
Notepad++ for Win32 开源文本编辑器 v5.8.2 多国语言版2010-07-01 
BigDump(bigdump.php) 大型数据库 SQL 文件分段导入工具 v0.32b 英文版
| Joomla! 1.5 生成中文PDF的解决方案 |
|
| 作者:白建鹏 | |||||||||||||||||||||
| 2007-08-17 | |||||||||||||||||||||
|
首先向所有会员及访客致歉:本文的撰写计划早已拟就,由于最近工作较忙,没顾上写出来,今天终于唱了一出“空城计”。不过,至少可以向大家宣布:Joomla! 1.5 中文支持PDF的问题我已经解决。今天下载该版本的会员可能会发现,我制作的 Joomla! 1.5 RC1 中文版安装包达到了8MB之巨!这就是因为里面包含了实现中文PDF的字体文件。 原版的 Joomla! 1.5 RC1 无法支持中文PDF,在中文文章中一旦点击“pdf”按钮,则生成的PDF页面里面中文都是乱码(在《7步完成Joomla! 1.5 安装》这篇文章中我曾经提到过)。现在请下载本站制作的Joomla! 1.5 RC1 中文版,安装之后随便撰写一篇中文文章,然后测试其PDF功能,我相信你能看到正常的宋体中文,而且简体中文、繁体中文均可正常显示。 那么,这是如何实现的呢?这里面还有个故事。
当初我从Joomla! 1.5 RC1 制作中文版时,只是简单地将Joomla!台湾网站翻译的简繁中文语言包添加进去,然后打包即成。然而在测试时,我发现英文页面可以生成正常的PDF文件,中文页面生成pdf后都是乱码(当然页面中的数字和英文字符还正常)。我就觉得非常纳闷,难道Joomla! 1.5 就不能支持中文PDF功能吗? 于是我在Joomla!官方论坛发了一个帖子,在CoolAcid 的帮助下,我注意到在 Joomla! 1.5 的 /language 文件夹里面还有一个目录叫作 pdf_fonts。CoolAcid 告诉我,我必须制作出对应中文的、包含所有中文字符的PDF字体,才能实现对中文的PDF支持。这个字体文件必须存放在 /language/pdf_fonts 目录内,并且需要在对应语言的 xml 文件中声明这个字体用于生成 PDF 文件。 现在方案就很清楚了:制作一个字体文件;将这个文件放到指定目录;编辑 xml 文件声明这个字体。 字体文件还不简单吗?在 windows 操作系统的 c:\windows\fonts 目录里面已经自带了400多个字体文件,难道还挑不出一个能用的吗?然而,当我打开 Joomla! 1.5 的 /language/pdf_fonts 目录,我发现我把这个问题想简单了。这个目录里面根本没有 .ttf 字体文件,而是 .z 格式的文件:
同时,在 /language/en-GB/en-GB.xml 文件中的 21 行左右,发现了如下代码:
可以看出,英文页面生成PDF所用的字体文件名称是“vera”,同时需要提供 vera.php 、vera.z 和 vera.ctg.z 三个文件。 老实说,这还是我第一次看 .z 作扩展名的文件。这就产生了一个新问题:我们必须寻找一种中文字体,并将它转换成 .z 和 .ctg.z 格式,同时制作对应的 .php 文件。当然了,如果有现成的文件,直接复制过来多好啊!很可惜,经过一番搜索,我没有找到现成的字体文件。 再次感谢CoolAcid ,他提供的一个在SourceForge网站论坛上讨论“Using font files?”的帖子给了我很大启发:我们可以先将 .ttf 字体文件转换成 .ufm 文件,然后由 .ufm 文件生成 .z 文件。 又经过一番搜索和思索,我找到了这个名叫 ttf2ufm 的开源工具,该工具只有两个文件:ttf2ufm.exe 和 makefontuni.php。在该工具的说明文档中,作者给出了使用方法:
玩过Linux的人一看就知道,$ 符号是Unix操作系统的shell命令行提示符。这工具原来不能在 windows 平台上用阿! 我几乎又陷入了困境。过了几天,我突发奇想:既然 ttf2ufm 工具的主文件是 .exe 格式,它似乎应该可以在 windows 平台上使用。于是我打开了 winXP 的命令行模式,进入 ttf2ufm 的目录(已经提前复制了一个 stsong.ttf 字体文件进去),尝试执行了一下上面第一行命令(两个命令是两次分别执行):
没想到竟然执行了!并且真的生成了一个 stsong.ufm 文件! 哈哈!真是柳暗花明又一村啊。 但是,在尝试执行第二个命令时,总是无法成功,一直提示“'php' 不是内部或外部命令,也不是可运行的程序或批处理文件”。这也难怪,DOS命令中根本不存在php.exe 或者 php.com 这个文件啊。 在苦闷之际,我忽然想到我正在使用 XAMPP 集成型 AMP(Apache+MySQL+php)服务器环境。是否这个集成包之中有什么可以借用的工具呢? 结果在 J:\xampp\php 这个目录中,我看到了 php.exe 文件。OK!有办法了:我把 ttf2ufm 工具目录移动到 J:\xampp\php 目录下,然后借用这里的php.exe来运行脚本。 {mospagebreak_scroll title=制作Joomla! 1.5 PDF 字体&heading=Joomla! 1.5 中文 PDF 实现思路} 下面简单介绍一下过程: 1、字体源的选择考虑到.ufm文件必须由unicode字体文件产生,我挑选了 c:\windows\fonts 目录里面的 stsong.ttf 文件([[华文宋体]]),如果你没有这个字体,可以在网上下载到。之所以没有选用“宋体”,是因为“宋体”所对应的字体文件为 simsun.ttc,不是 .ttf 格式。当然,我也尝试了其他几种字体,发现有些不是 unicode 字体,无法使用。最终决定选用华文宋体。 2、生成 .ufm 文件在 J:\xampp\php 中创建新目录 ttf2ufm,将 ttf2ufm 工具的两个文件复制进去。然后将 c:\windows\fonts\stsong.ttf 文件复制进去。运行 winXP 的命令行模式,进入到 J:\xampp\php\ttf2ufm 目录,输入以下命令:
计算机开始生成 .ufm 文件,这个过程比较漫长,要耐心等待。屏幕显示如下图所示:
大约经过3分钟时间,会提示:
这表示转换完成。这时会发现 J:\xampp\php\ttf2ufm 文件夹中多出了3个文件,分别是 stsong.afm 、stsong.t1a 和 stsong.ufm,如下图所示:
3、生成 .z 字体文件现在该用到 php.exe 这个命令了。由于该文件位于 J:\xampp\php\ttf2ufm 上一层目录,所以我们在命令行模式下执行下面的命令:
这个命令开头的两个点(..)表示当前目录的上级目录。输入这个命令并回车之后,电脑似乎没有任何反应,但是能听到硬盘在吱吱乱叫(呵呵,我的旧电脑用上吃奶的劲了),大约15秒钟之后,提示“字体文件压缩成功”:
这时可以看到在 J:\xampp\php\ttf2ufm 文件夹中又多出了3个文件:stsong.php 、stsong.z 和 stsong.ctg.z ,正是我们所需要的!如下图所示:
4、测试PDF效果将刚才得到的 stsong.php 、stsong.z 和 stsong.ctg.z 三个文件复制到 Joomla! 1.5 的 /language/pdf_fonts 目录里,然后编辑 /language/zh-CN/zh-CN.xml 文件,将20行左右的PDF字体声明代码修改为:
请注意:当打开 /language/zh-CN/zh-CN.xml 文件后会发现原来所设置的PDF字体文件竟然跟英文一样,也是 vera!很明显vera字体不支持中文字符,因此这才是中文PDF出现乱码的根源。 按照上述方法修改 /language/zh-CN/zh-CN.xml 文件后保存,然后测试 Joomla! 1.5,在前台中文页面上点击“PDF”按钮,会看到终于输出了正常的中文页面!限于篇幅,此处不提供截图。有兴趣的会员可以下载 Joomla! 1.5 RC1 中文版 自行测试。 5、应用体会上面已经实现了简体中文(zh-CN)的PDF功能,那么繁体中文呢?经过测试发现,华文宋体这个字体里面竟然已经包含了繁体中文字符。也就是说,它同时能够支持繁体中文。于是,我们只要编辑 /language/zh-TW/zh-TW.xml 文件,并将其 pdfFontName 也声明为 stsong 即可。经测试这个方法完全可行。 另外,我还发现,如果我们用“华文隶书”(因为标准的“隶书”不是 ttf 字体)这种字体制作成 .z 格式用来生成PDF文件,那么不论原始网页中使用何种中文字体,其PDF页面上所有中文均为“华文隶书”的样子。这就意味着,PDF页面只能拥有一种字体,即使你的原始网页中可能有多种字体,例如:标题用行草,小标题用隶书,正文用宋体,重点提示用楷体。我想,这应该是一种遗憾。PDF功能应该反映真实的页面外观。希望Joomla!官方将来能改进这个功能。
|
论坛新帖
-
-
- 为什么我的Joomla 1.5.25 没有登陆
- 在 Joomla! 1.5.x 核心相关
- 2012-02-10 13:25
-
-
-
- k2(2.54)在Joomla 2.51环境下
- 在 Joomla! 2.5.x/1.7.x 第三方扩展
- 2012-02-10 13:20
-
-
-
- 出错!无法在压缩包中找到 Joomla!的XM
- 在 Joomla! 1.5.x 第三方扩展
- 2012-02-10 12:56
-
-
-
- 请白老大推荐一款内容采集的组件
- 在 Joomla! 2.5.x/1.7.x 第三方扩展
- 2012-02-10 12:14
-
-
-
- 如内容图片的效果是怎么实现的.请求白兄帮助!谢
- 在 模板及样式(templates & Styles)
- 2012-02-10 12:09
-
-
-
- 诚招深圳joomla高手-兼职或者全职都可
- 在 悬赏招标
- 2012-02-10 10:33
-
-
-
- 创新互联网站改版策划书如何策划?
- 在 网站建设其他问题
- 2012-02-09 23:29
-
-
-
- 请教白老师,VirtueMart for jo
- 在 Joomla! 2.5.x/1.7.x 第三方扩展
- 2012-02-09 23:24
-
-
-
- joomla1.7/joomla2.5安装扩展
- 在 Joomla! 2.5.x/1.7.x 第三方扩展
- 2012-02-09 20:08
-
-
-
- Frontpage SlideShow v3.
- 在 Joomla! 2.5.x/1.7.x 第三方扩展
- 2012-02-09 19:50
-
等你回答的帖子
-
-
- event_table_edit 组件问题
- 在 Joomla! 1.5.x 第三方扩展
- 2012-02-09 14:50
-
-
-
- 新模板导航怎么无法显示?
- 在 Joomla! 2.5.x/1.7.x 模板风格
- 2012-02-09 10:09
-
-
-
- 獲利50000美元/月 招才:懂 joomla
- 在 悬赏招标
- 2012-02-08 15:52
-
-
-
- 如何限制 virtuemart2.0 产品名称
- 在 Joomla! 2.5.x/1.7.x 第三方扩展
- 2012-02-08 13:58
-
-
-
- 远程登录服务器Mysql出现问题!!求解答!
- 在 架设服务器
- 2012-02-08 11:23
-
-
-
- 我想对一些插件和模块进行翻译,该怎么做?
- 在 Joomla! 2.5.x/1.7.x 核心相关
- 2012-02-08 10:10
-
-
-
- JoomFish2.2.3的翻译问题
- 在 Joomla! 1.5.x 第三方扩展
- 2012-02-08 09:35
-
-
-
- maxi menu ck问题
- 在 Joomla! 2.5.x/1.7.x 第三方扩展
- 2012-02-07 16:09
-
-
-
- 怎么在自己租用的服务器搭建joomla
- 在 架设服务器
- 2012-02-04 13:34
-









评论
订阅评论