如何从docbook 5.0生成pdf

我已经用头文件写了一个docbook 5.0文档:

<?xml version="1.0" encoding="UTF-8"?> <book version="5.0" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:svg="http://www.w3.org/2000/svg" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook"> 

Ubuntu 9.10 docbook2pdf打印许多错误消息,并没有做任何PDF文件。 错误是:

 openjade:test.xml:2:0:E: prolog can't be omitted unless CONCUR NO and LINK EXPLICIT NO and either IMPLYDEF ELEMENT YES or IMPLYDEF DOCTYPE YES openjade:test.xml:2:0:E: no document type declaration; will parse without validation openjade:/usr/share/sgml/docbook/stylesheet/dsssl/modular/print/dbtitle.dsl:18:5:E: flow objects at the root must be all of class scroll or all of class page-sequence or simple-page-sequence openjade:/usr/share/sgml/docbook/stylesheet/dsssl/modular/print/dbbibl.dsl:704:4:E: flow objects at the root must be all of class scroll or all of class page-sequence or simple-page-sequence 

docbook2pdf为文档在docbook 4.5格式与正常的头像一样:

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> 

工作相当好。

有什么办法从docbook 5.0生成PDF?

Solutions Collecting From Web of "如何从docbook 5.0生成pdf"

我看到三个选项(可在Debian / Ubuntu中)从docbook生成pdf:

  • 玉,它提供了提供者使用的docbook2pdf命令。 翡翠是古老的,并与SGML,它早于XML,不支持Unicode; 它也缺乏对docbook 5的支持。

  • 通过XSL-FO的docbook-xsl 样式表 。 docbook-xsl用于docbook 4.5,docbook-xsl-ns用于docbook5。 使用fop从XSL-FO转到PDF。 管道:docbook5 – (xsl) – > xml.fo – (fop) – > pdf。 涉及的命令:xsltproc,fop。

  • dblatex,主要针对docbook4.5,但已经更新了一些docbook5。

xmlto可以驱动最后两个,尽管它当前默认为docbook-xsl而不是docbook-xsl-ns。


一个快速的Docbook5用户指南

先决条件

 sudo aptitude install docbook5 docbook-xsl-ns xsltproc fop xmlto libxml2-utils xmlstarlet 

验证

 xmlstarlet val --err --xsd /usr/share/xml/docbook/schema/xsd/5.0/docbook.xsd book.xml 

PDF输出

 xsltproc /usr/share/xml/docbook/stylesheet/docbook-xsl-ns/fo/docbook.xsl book.xml > book.fo fop -fo book.fo -pdf book.pdf 

除了你给的头文件之外,你是否尝试过一个更小的例子,比如DocBook 5.0中的这个:权威指南 ?

 <?xml version="1.0" encoding="UTF-8"?> <book xmlns='http://docbook.org/ns/docbook'> <title>An Example Book</title> <titleabbrev>Example</titleabbrev> <info> <legalnotice><para>No notice is required.</para></legalnotice> <author><personname> <firstname>Norman</firstname><surname>Walsh</surname> </personname></author> </info> <dedication> <para> This book is dedicated to you. </para> </dedication> <preface> <title>Foreword</title> <para> Some content is always required. </para> </preface> <chapter> <title>A Chapter</title> <para> Content is required in chapters too. </para> </chapter> <appendix> <title>Optional Appendix</title> <para> Appendixes are optional. </para> </appendix> </book> 

只是通过我的一个Maven环境将其呈现为PDF。 你可以给一个小例子(或几个分离的onces)包含一些内容,这使得必要的所有额外的名称空间的使用。

如果上述示例不起作用,并且您对如何设置我的环境感兴趣,请参阅在Maven项目站点中使DocBook内容可用 。 只要用上面的DocBook 5.0例子来替换这个例子。 对于这个问题,只有docbkx-maven-plugin才是有意义的。 (PS:对此需要一些Java和Maven2的基本知识。)

Docbook 4.5和5.0之间有明显的区别。 而这些差异可以防止你的文件被转换。

如果你想检查你的5.0文档的有效性,你可以使用下面的命令行工具:

  1. 这是一个Java工具,所以你需要有一个最近的Java运行时环境。

  2. 工具是荆。 你可以从thaiopensource网站下载。 : http : //www.thaiopensource.com/relaxng/jing.html

  3. 您还需要docbook 5.0的放松文件。 它提供了docbook 5发行版。

  4. 使用以下命令行运行验证测试:
    java -jar path_to_Jing / jing.jar -t -i path_to_docbook5 / docbook.rng document.xml

如果有一些失败,则应该以这种方式返回:错误URL“file:….. / document.xml”,行号211,列号59:属性“id”在名称空间“ http: //www.w3.org/XML/1998/namespace “已用时间968 + 166 = 1134毫秒

税吏

您可以使用Publican以PDF,html和html-single格式发布您的DocBook XML。 Publican被Red Hat用作其内部文档工具链的一部分,是由Fedora项目托管的开源应用程序。 该工具使用“品牌”来实现将样式应用于正在发布的内容的模块化。 这种预设的方式模拟了各种CMS或文档工具。

JBoss文档指南

这个工具的一个很好的例子就是JBoss Press Gang文档 ,它本身就是一个很好的资源,它提供了关于在JBoss文档中使用DocBook XML的文档社区指南。 HTML和PDF版本是用Publican生成的。

http://docbookpublishing.com支持DocBook 5.0文档。 这是一个DocBook到PDF格式的在线服务。 您也可以通过REST API提交您的DocBook文档。

转到Eclipse并安装DocBook Editing and Processing for Eclipse(DEP4E)插件 。 你可以通过进入市场找到它并在那里搜索docbook。 这个插件将创建一个示例docbook,并可以发布在HTML,PDF,甚至电子书。

或者查看DEP4E网站 ,阅读快速入门指南第3部分。入门 ,了解它的可能性。

WordPress的帖子,以docbook风格的帖子: http : //hashfold.com/techfold/wordpress-how-to-generate-docbook-style-posts/