欢迎大家光临【无师自通-教程网】您的到来是我们的荣幸。本站提供photoshop教程,ps教程,flash教程,cad教程,网页制作教程,excel教程,asp教程,vb教程,3d教程,c语言教程,html教程,coreldraw教程,dreamweaver教程,java教程,3dmax教程 等各种教程为主题的内容和服务,相信您会在这里找到您所需要的东东。无师自通伴您一生-谢谢您的光临!!
网站地图 设为首页
简繁切换 加入收藏
栏目待定 留言本站
您现在的位置: 无师自通-教程网 >> 操作系统 >> Linux >> Linux软件 >> 教程正文

  没有公告

教程: Linux教程-软件教程-DocBook文件转换环境设定(下) 更多...
教程: Linux教程-软件教程-DocBook文件转换环境设定(下)
安装Formatter

使用XSL转换文件时,如果要转换成打印文件格式(如PDF、PostScript 等)时,通常必须分成两个步骤,先用XSLT processor将文件转换成 formatting objects,再用formatter将formatting objects转换成 打印文件。FOP是Apache计画所发展的一个formatter,可以把Formatting Object格式的文件转换成可打印文件,如PDF、PostScript等格式。

使用FOP同样需要有Java执行环境。下面以FOP 0.20.3版为例,示范 FOP的安装步骤:
1.从http://xml.apache.org 下载FOP 0.20.3版:
$ wget http://xml.apache.org/dist/fop/Fop-0.20.3-bin.tar.gz

2.将FOP套件解压缩:
$ tar zxvf Fop-0.20.3-bin.tar.gz

3.将所有以jar为附文件名的档案拷贝到Java的library目录下:
$ cp Fop-0.20.3/build/*.jar /usr/java/jdk1.3.1/lib
$ cp Fop-0.20.3/lib/*.jar /usr/javaj/jdk1.3.1/lib

4.将conf及hyph目录拷贝到适当的目录下(这两个目录在中文化时 才用的到):
$ mkdir -p /usr/local/share/fop
$ cp -a Fop-0.20.3/conf /usr/local/share/fop
$ cp -a Fop-0.20.3/hyph /usr/local/share/fop

FOP安装好之后,就可以将FO格式的文件转换成PDF了。不过和xalan 一样,执行FOP需要指定许多个CLASS PATH,所以还是得先写一个
shell script把程序包装起来。下面为shell script的范例,读者 可以依据自己的环境做修改:
#!/bin/sh
# fop.sh -- wrapper of apache fop
# JAVA 解译器的安装路径
JAVA=/usr/java/jdk1.3.1/bin/java

# JAVA library 的安装路径
JAVA_LIB=/usr/java/jdk1.3.1/lib

# 所有的类别路径
JAR=”fop.jar \
logkit-1.0b4.jar\
sax.jar xerces.jar\
avalon-framework-4.0.jar\
batik.jar xalan.jar\
jimi-1.0.jar\
xalanj1compat.jar”

for i in $JAR
do
CLASSPATH=”$CLASSPATH:$JAVA_LIB/$i”
done


export CLASSPATH

echo CLASSPATH=$CLASSPATH
# 执行
$JAVA $FOP_OPTS org.apache.fop.apps.Fop “$@”

将以上的shell script存成fop.sh,为了执行方便,可以拷贝到 /usr/local/bin。

中文化环境设定
如已完成前述安装作业,即已经把DocBook的文件转换环境建立起 来了。而如果要处理中文文件,还有一些设定要修改,此部份包括
DocBook XSL Stylesheet及FOP的中文字形,以下将针对这两个部份 分别说明。

DocBook XSL Stylesheet的中文化

DocBook XSL Stylesheet在转换成FO时所指定的字形只有英文字 形,如果不修改就直接套用在中文文件上,则所有的中文字最后都
将被取代成“#”字号输出。修改stylesheet时,为了保持DocBook 的完整起见,必须另外建立一个XSL档来继承原来的docbook.xsl,
并且修改部份的定义。假设取名为bg5docbook.xsl,其内容如下:

xmlns:fo=“http://www.w3.org/1999/XSL/Format”
xmlns:doc=“http://nwalsh.com/xsl/documentation/1.0”
exclude-result-prefixes=“doc”
version=‘1.0'>

bkai
12
bkai

3.8cm
2.54cm

在bg5docbook.xsl中,使用xsl:import指令以继承docbook.xsl的 设定,并且修改了三个部份的设定,字形及字体大小、纸张大小、
以及边框大小。在中文化中,最重要的是设定字形,其余的可视需 \要而设定。在上例中,将文件的body及title字形设定为楷书(bkai), 纸张大小设定为A4,边框则设定为左边(内边)3.8公分,右边(外 边)2.54公分。最后一个变量设定,是为了修正页码显示的问题, 当DocBook中的字体大小超过10pt时,页码就会消失,原因是页码的 显示区域太小,formatter将页码显示的动作忽略了。该变量的预设 值为12pt,最大只能放10pt的页码。要个问题只需将显示区域设大一点就可以了,如上例设定为20pt。

DocBook在文件区域化的选项里,繁体中文文件的区域化属性为zh_tw, 但是FOP所认得的区域化属性为zh,如果FOP无法正确辨认出区域化 属性,则输出的中文文件的断行会出现问题,这是因为FOP将连续的 中文字当作是不可分割的单位之故。本文的作法是将DocBook XSL
Stylesheet内的common目录下的zh_tw.xml做修改,直将把第二行language=“zh_tw”改成language=“zh”即可。

FOP的中文化

在前一节中,DocBook已指定输出的字形为楷书,但是FOP本身并 没有附中文字形,使用者必须自己加入中文字形。加入字形要做两
件事情,第一是产生matrics檔,第二是在userconfig.xml档案中加 入字形信息。

FOP套件中提供一个TTFReader的程序,TTFReader可以从ttf字形 档产生matrics檔。为了执行上的便利,首先要将TTFReader包装在
shell script程序中,下列为包装范例:

#!/bin/sh
#
# ttfreader.sh
#

JAVALIB=”/usr/java/jdk1.3.1/lib”
CLASSPATH=”$JAVALIB/fop.jar:$JAVALIB/xerces.jar”

export JAVALIB CLASSPATH

java org.apache.fop.fonts.apps.TTFReader “$@”

将档案存成ttfreader.sh,并拷贝到/usr/local/bin,就可以用 来建立matrics檔了。

[1] [2] 下一页

教程录入:admin    责任编辑:admin 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
     
     
     

    dos入门教程

    dos入门教程-2

    dos入门教程-1
    免责声明!本站资料大部分来自于互联网,其版权归原作者或其他合法者所有.如内容涉及或侵犯了您的权益,请通知本人,我将尽快处理!.欢迎您的光临。
    辽ICP备07003958号
    无师自通,伴你一生-教程网