使用 Apache FOP 2.3 + docbook-xsl-ns-1.79.1 转换 Docbook 5.1 格式的 XML 文档成 PDF/RTF 文件
使用 Docbook 编写折桂打印平台系统、折桂上传平台系统的产品文档,原因基于如下两点:
第一,文档的不同章节,可使用不同的 .xml 文件,由不同人员分别撰写,图片文件在XML文章中用相对目录方式指定,最后用一个 DOS 命令即可组装生成大 PDF 文件。
第二,文章内容分散在 .xml 文件中,解决 SVN 可跟踪各次修改的内容。
第三,各章节的格式,使用一个 .xsl 文件,即可统一文档风格。章节编号在组装时自动生成(这个功能貌似 word 也有,只是不同大章节里的小章节顺序号有时错误需要人工调整)。
大的 Word 文件难改,痛点大家都知道:
在大文件里改几行字,打开慢、保存慢;
如果要保留修改前的备份,文件也很大。
Docbook 格式的文档,使用 XML 格式,各个 XML node 的名字也很语义化,基本上看上去就懂。几个主要 XML node 从大到小为:
book(书), chapter(章), section(节), para (段落) 。
section(节)可以有多个层次,比如 sect1, sect2, sect3, sect4,sect5 。
环境搭建:
a. 下载 docbook 转换所用样式 xsl:
https://sourceforge.net/projects/docbook/files/docbook-xsl-ns/1.79.1/ 里的文件: docbook-xsl-ns-1.79.1.zip
b. 解压缩 docbook-xsl-ns-1.79.1.zip 到 c:\my_apps\docbook-xsl-ns-1.79.1 ,目录结构为:
C:\my_apps\docbook-xsl-ns-1.79.1\README
C:\my_apps\docbook-xsl-ns-1.79.1\fo\docbook.xsl
…
c. 下载 docbook 转换所用工具 Apache FOP:
https://xmlgraphics.apache.org/fop/download.html 里的 fop-2.3-bin.tar.gz 或 fop-2.3-bin.zip
d. 解压缩 fop-2.3-bin.tar.gz 到 c:\my_apps\fop-2.3 ,目录结构为:
C:\my_apps\fop-2.3\README
c:\my_apps\fop-2.3\fop\fop.bat
…
将 c:\my_apps\fop-2.3\fop\ 设置到 windows path 路径中(控制面板\系统和安全\系统, 高级系统设置, 高级,环境变量,系统变量,path, ),后续可方便使用:C:\my_apps\fop-2.3\fop\fop.bat
e. 如果 C: 盘空间不足,可将上述文件放在 D:\my_apps,然后开一个管理员权限的 DOS 窗口,进行映射目录:
mklink /d c:\my_apps D:\my_apps
f. 下载并安装 Java 运行支持库(JRE, 或 JDK).
Apache FOP 运行需要 Java.
g. 在某个文件目录,比如 C:\projects\zhegui_print_upload\050-Deploy-docs,新建 xlst 文件 installation-zg_prt_uld-book.xsl,引用已有的 docbook.xsl,并加上一些定制化参数,比如中英文使用不同的字体。
———————————–
使用 Apache FOP 2.3 + docbook-xsl-ns-1.79.1 转换 Docbook 5.1 格式的 XML 文档成 PDF/RTF 文件
https://blog.51cto.com/u_15127572/2765809