由docbook生成pdf,且基本上没有中访问题的简单方法:

将hibernate文档部分源码(:pserver:anonymous@cvs.sourceforge.net:/cvsroot/hibernate下的doc/reference)取下,将zh-cn目录下的xml文件用自已的代替,修改zh-cn/styles/fopdf.xsl,将与hibernate相关的部分改为自已的内容,主要是version和logo,通过在文件中查找hibernate很容易找得到,用原来的fopdf.xsl生成的pdf的subtitle为乱码,将fopdf.xsl文件中的

<fo:block font-family="Helvetica" font-size="22pt" padding-before="10mm">
                                <xsl:value-of select="bookinfo/subtitle"/>
                            </fo:block>
                            <fo:block font-family="Helvetica" font-size="12pt" padding="10mm">
                                Version:
                                <xsl:value-of select="bookinfo/releaseinfo"/>
                            </fo:block>

修改为

<fo:block font-family="simsun" font-size="22pt" padding-before="10mm">
                                <xsl:value-of select="bookinfo/subtitle"/>
                            </fo:block>
                            <fo:block font-family="simsun" font-size="12pt" padding="10mm">
                                Version:
                                <xsl:value-of select="bookinfo/releaseinfo"/>
                            </fo:block>

换一下subtitle的字体,就不会有乱码了.删除en目录,修改一下build.xml,去掉<antcall target="lang.all"><param name="lang" value="en"/></antcall>,只生成中文结果.

有点难受的是标点还是有可能会出现在句首.

参考:

http://www.donews.net/limodou/archive/2004/04/01/9917.aspx

http://www.blogcn.com/user6/caoxg/blog/2402234.html


文章来源:http://spaces.msn.com/members/zzzhc/Blog/cns!1pPbKg7hHgS7AKKQm6CWG1ZQ!106.entry