免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3240 | 回复: 0
打印 上一主题 下一主题

fop使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-06-18 16:50 |只看该作者 |倒序浏览

xsl-fo,fop的简介,以及中文字体处理
项目需要在评估pdf生成技术,目前知道的有apache的fop和以前使用过的itext。
xsl-fo简介
fop是基于w3c标准的xsl-fo格式处理,xsl-fo是xsl技术的一部分,xml文档的格式化包含两部分,转换和格式化输出。xsl针对这两部分也推出两套标准,xslt和xsl-fo。如果xml只是转换为html这类格式,使用xslt即可,如果要转换到pdf等格式,需要使用xsl-fo。
xsl-fo其实也只是定义了一大堆format object,例如页面,表格等等,但没有限定使用什么方式显示,你可以转换成pdf,svg,甚至gui控件(fop有一种输出方式就是awt)。所以从xml文件到pdf的流程是:
         xslt                   fop
xml---------->xsl-fo------------>pdf
fop使用:
网上下载fop最新的包,我下载的是fop0.20.5,解开。目录下有基本命令fop.bat(windows),fop.sh(unix),直接输入可以看到帮助。很简单,没什么好说的。examples/fo下有很多现成的fo文件,演示了fo中的各种格式,可以选择自己感兴趣的看看。
中文处理:
中文是开发人员心中永远的痛。同样,fop缺省生成的pdf没法显示中文。需要经过一番处理:
字体注册:选择自己要用的字体(例如simsun.ttc),使用fop的TTFReader转换,
java -cp buildfop.jar;libavalon-framework.jar;libxml-apis.jar;libxercesImpl.jar;libxalan.jar org.apache.fop.fonts.apps.TTFReader -ttcname "SimSun"              simsun.ttc fontsimsun.xml
编辑自己要用的config文件,cp conf/userconfig.xml myconfig.xml,增加simsun字体
   
   

在fo文件中指定使用的字体,下面的文件是改编自examples/embedding/xml/fo/helloworld.fo
  
   
      
   
  
  
   
      你好!
   
  
使用fop转换:
fop -c myconfig.xml helloworld_zh.fo -pdf output.pdf
用acrobat reader打开可以看到中文了:),linux下的xpdf也没有问题


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4200/showart_31762.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP