Szy*_*ski 15 linux pdf ubuntu docbook docbook-5
我写了一个带有标题的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">
Run Code Online (Sandbox Code Playgroud)
和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
Run Code Online (Sandbox Code Playgroud)
docbook2pdf for 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">
Run Code Online (Sandbox Code Playgroud)
工作得很好.
有没有办法从docbook 5.0生成pdf?
Tob*_*obu 32
我看到三个选项(在Debian/Ubuntu中可用)从docbook生成pdf:
jade,它提供了asker使用的docbook2pdf命令.jade很古老,可以使用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.
sudo aptitude install docbook5 docbook-xsl-ns xsltproc fop xmlto libxml2-utils xmlstarlet
Run Code Online (Sandbox Code Playgroud)
xmlstarlet val --err --xsd /usr/share/xml/docbook/schema/xsd/5.0/docbook.xsd book.xml
Run Code Online (Sandbox Code Playgroud)
xsltproc /usr/share/xml/docbook/stylesheet/docbook-xsl-ns/fo/docbook.xsl book.xml > book.fo
fop -fo book.fo -pdf book.pdf
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28467 次 |
| 最近记录: |