DITA-OT输出PDF的样式设计

DITA是一个专门为技术文档写作特制的XML规范,它强调模块化的写作,强调内容的重用和单一内容源的多种输出。

DITA全称是Darwin Information Typing Architecture,最早由IBM开发,并且也在IBM得到最广泛和持久的应用。 目前DITA由OASIS (Organization for the Advancement of Structured Information Standards)维护。当前最新版本是1.2。

DITA的特点

用于信息存储可能是XML最好的一个用途。在写作领域另一个著名的标准是Docbook,更多地用于写作较长的文档,而DITA强调的是模块化的技术文档写作。

使用XML来写作文档主要优势在于可以实现内容同格式分离,标准开放,不需要信赖于某种特定工具软件,同时基于一定语义的实现也使内容重用得以在一定程度上实现。

有了DITA这个相对比较简单的XML标准,有技术文档需求的机构就可以直接上手,不需要再自己去设计一套DTD;同时工具开发厂商也有一个开发的基础。

当然,目前仍然有公司在开发使用自己的文档XML标准,包括使用Adobe FrameMaker或者自己的工具的都有。

其实就像Gitbook一样,Markdown这种更为简单的标记语法也得到了越来越广泛的应用,如果不考虑模块化和内容重用的问题,用这类语法来写作也是一样可以的。尤其是工具比较多,应用广泛,容易得到支持。

关于这个文档

前一段用过这个工具,所以把了解到的知识记录下来。这个东西比较偏门一点,估计也没有人看了。

这个工具一般是大的科技公司用来写技术文档的,尤其是IBM用来写它的软件文档,可以实现文档的模块化,标准化,同时实现单一内容源的多个出版,比如可以同时出网页版,PDF版,以及各种电子书版。

缺陷是这个东西太专业,它的工具就比较少,开发有一定难度。因为用的人少,也没有太多人关注。如果是大公司,可以请人专门开发,形成自己的工具链。如果没有投入,这个东西也就难以上手。

DITA本身是简化的XML,编辑这种文件本身没有难度,难度在于出版,也就是从DITA文件输出到HTML,CHM,PDF这些过程。如果还是HTML类的东西,用XSLT/X-Path这些就可以,相对简单一些;如果是输出PDF,就涉及到页面排版,涉及到FOP这个东西,很专业,有难度。免费的不好用,相对好用的不免费。

本文档就是将就记录一点早前对DITA-OT输出PDF的折腾,大多数东西也是从各种网络资源上找到的或者至少是受别人启发的。

声明:

  • 本文档是两年前记录,主要针对DITA-OT 1.7/1.8,对于最新的发展没有关注,也没有测试。

  • 本文档真正有用的东西也仅限PDF输出,其他的输出没有涉及。