Как создать pdf из docbook 5.0

Я написал документ 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">

и docbook2pdf на Ubuntu 9.10 печатает много сообщений об ошибках и не делает никаких 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">

работает вполне нормально.

есть ли способ создать pdf-файл из docbook 5.0?

7 ответов


Я вижу три варианта (доступные в Debian/Ubuntu) для создания pdf из docbook:

  • jade, который предоставляет команду docbook2pdf, используемую asker. jade является древним и работает с SGML, который предшествует XML и не поддерживает Unicode; ему также не хватает поддержки docbook 5.

  • на С DocBook-xsl-код стили которые проходят через XSL-FO. с DocBook-xsl-это для DocBook не 4.5, с DocBook-xsl-код-НС для docbook5. Использовать fop, чтобы перейти от XSL-FO к PDF. Производство: docbook5 -(xsl) по-> XML-файле.ФЛ -(ЧП)-> формат 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>

просто визуализировал его в PDF через одну из моих сред Maven. Можете ли вы привести небольшой пример (или несколько отдельных onces), содержащий некоторый контент, который делает использование всех дополнительных пространств имен необходимым.

в случае, если приведенный выше пример не работает, и вас интересует, как я настроил свой окружающая среда читать сделать содержимое DocBook доступным на сайте проекта Maven. Просто замените пример приведенным выше примером DocBook 5.0. Только docbkx-maven-plugin представляет интерес, в связи с этим вопрос. (PS: Для этого требуется некоторое базовое знание Java и Maven2.)


мытарь

можно использовать мытарь для публикации DocBook XML в PDF, html и html-отдельных форматах. Publican используется Red Hat как часть своей внутренней документации toolchain и является приложением с открытым исходным кодом, размещенным в проекте Fedora. Инструмент использует "бренды" для достижения модульности в применении стилей к публикуемому контенту. Этот заранее поставленный образ simusing большое разнообразие CMS или инструментов документации.

Документация JBoss Руководство

хорошим примером инструмента в действии является JBoss пресс Gang документация, что само по себе является отличным ресурсом, дает руководству сообщества документации по использованию DocBook XML в документации JBoss. Html и PDF версии были сгенерированы с Publican.


существуют значительные различия между Docbook 4.5 и 5.0. И эти различия могут помешать преобразованию вашего документа.

Если вы хотите проверить валидность вашего документа, 5.0, вы можете использовать следующую командную строку:

  1. Это инструмент java, поэтому вам нужно иметь недавнюю среду выполнения java.

  2. инструмент Цзин. Вы можете скачать его с thaiopensource web сайт: http://www.thaiopensource.com/relaxng/jing.html

  3. вам также понадобится файл relax ng для docbook 5.0. Он поставляется с дистрибутивом docbook 5.

  4. запустите тест проверки со следующей командной строкой:
    java-jar path_to_Jing / jing.jar-t-i path_to_docbook5/docbook.документ ГСЧ.в XML

Если есть некоторые сбои, они должны быть возвращены таким образом: ошибка в URL "папка.:..../документ.xml", номер строки 211, номер столбца 59: неверное значение атрибута " id "из пространства имен"http://www.w3.org/XML/1998/namespace" Прошедшее время 968+166=1134 миллисекунды


http://docbookpublishing.com поддержка документов DocBook 5.0. Это онлайн-сервис для форматирования DocBook в PDF. Вы также можете отправить документы DocBook через REST API.


перейдите в Eclipse и установите редактирование и обработка DocBook для плагина Eclipse (DEP4E). Вы можете найти его на рынке и поиск общих нет. Этот плагин создаст пример docbook и может публиковать в html, pdf и даже электронную книгу.

и веб-сайт DEP4E, читать Краткое Руководство Для Начинающих Пользователей раздел 3. Начало Работы, чтобы получить представление о его возможностях.


сообщение wordpress для сообщений в стиле docbook: http://hashfold.com/techfold/wordpress-how-to-generate-docbook-style-posts/