由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