Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum


Lines Club

Ищем достойных соперников.




Книги по Linux (с отзывами читателей)

Библиотека сайта или "Мой Linux Documentation Project"

Другие форматы этого документа

Данная глава не является переводом соответствующей главы оригинального документа, с разрешения Al Dev (Alavoor Vasudevan), она переписана для учета особенностей переведенного документа.

Оригинальный документ распространяется в 14 различных форматах - DVI, Postscript, Latex, Adobe Acrobat PDF, LyX, GNU-info, HTML, RTF(Rich Text Format), обычный текст, Unix man page, отдельный HTML файл, SGML (Linuxdoc format), SGML (Docbook format), MS WinHelp. Переведенный документ доступен в форматах - DocBook XML, HTML и PDF.

Оригинал документа находится на -

  • http://www.linuxdoc.org, затем нажмите на HOWTO и найдите его по имени, используя CTRL+f или ALT+f функцию web-броузера.

Домашняя страница перевода http://mvd.h1.ru/tr/

Переведенный документ написан в формате DocBook XML.

Перевод документа в html формат выполнен с помощью утилиты xsltproc входящей в пакет libxslt. Пакет libxslt можно взять на http://xmlsoft.org. Также потребуются Docbook DTD с http://www.oasis-open.org/docbook/. и Docbook XSL с http://docbook.sourceforge.net/projects/xsl/.

Преобразование в HTML формат выполняется следующим образом:

  • Создается файл docbook_ru_html.xsl содержащий следующие строки
    <?xml version='1.0'?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    version='1.0'
                    xmlns="http://www.w3.org/TR/xhtml1/transitional"
                    exclude-result-prefixes="#default">
    
    		<xsl:import href="/usr/share/xml/docbook/xsl-stylesheets/html/docbook.xsl"/>
    
    		<xsl:variable name="toc.section.depth">3</xsl:variable>
    
    <xsl:output method="html"
    	encoding="KOI8-R"
                indent="no"/>
    
    </xsl:stylesheet> 
  • Выполняется команда
    	xsltproc -o Diskless-HOWTO.html docbook_ru_html.xsl Diskless-HOWTO.xml

Формат Acrobat PDF

Формат Acrobat PDF можно получить следующим образом:

  • Создается файл docbook_ru_fo.xsl содержащий следующие строки
    <?xml version='1.0'?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    version='1.0'
                    xmlns="http://www.w3.org/TR/xhtml1/transitional"
                    exclude-result-prefixes="#default">
    
    		<xsl:import href="/usr/share/xml/docbook/xsl-stylesheets/fo/docbook.xsl"/>
    
    <xsl:param name="paper.type" select="'A4'"/>
    <xsl:param name="body.font.family">TimesNewRoman</xsl:param>
    <xsl:param name="title.font.family">Arial</xsl:param>
    <xsl:param name="monospace.font.family">CourierNew</xsl:param>
    <xsl:param name="sans.font.family">Arial</xsl:param>
    <xsl:param name="dingbat.font.family">TimesNewRoman</xsl:param>
    <xsl:param name="body.font.master">8</xsl:param>
    </xsl:stylesheet>
     
  • выполняется команда
    xsltproc -o Diskless-HOWTO.fo docbook_ru_fo.xsl Diskless-HOWTO.xml
    в результате получается файл в формате fo, который далее можно обрабатывать программой преобразования форматированных объектов в pdf формат. Одна из таких программ fop доступна на http://xml.apache.org/fop/. Так как fop написана на java, вам понадобится среда запуска java программ, ее можно взять на сайте Sun http://java.sun.com/j2se/.

    Заметка: Если вы возьмете Docbook XSL версии выше 1.45, то в получившемся файле Diskless-HOWTO.fo вам следует заменить выражение master-references= на master-name=, так как fop (по крайней мере, версии 0.20.2RC) не понимает данной нотации из XSL 1.0

  • C fop не поставляются шрифты, содержащие кириллические символы, поэтому для создания документов с внедренными кириллическими шрифтами вам потребуется выполнить дополнительную настройку fop. Последующие действия предполагают размещение пакета fop в каталоге /usr/local/fop

    • Возьмите ttf шрифты содержащие кириллические символы, например, подойдут шрифты Arial, CourierNew, TimesNewRoman.

    • Создайте к выбранным шрифтам метрики в XML формате. Метрики будем сохранять в каталоге /usr/local/fop/metrics. Перед выполнением последующего шага нужно установить значение переменной окружения CLASSPATH, например для bash:
      export CLASSPATH=/usr/local/fop/build/fop.jar:/usr/local/fop/lib/xerces.jar:\
      	/usr/local/fop/lib/xalan.jar:/uar/local/fop/lib/batik.jar
      Для каждого из файлов шрифтов arial.ttf, arialbd.ttf, ariali.ttf, arialbi.ttf, cour.ttf, courbd.ttf, couri.ttf, courbi.ttf, times.ttf, timesbd.ttf, timesi.ttf, timesbd.ttf, выполните команду
      java org.apache.fop.fonts.apps.TTFReader <путь к файлу шрифта>   /usr/local/fop/metrics/<имя шрифта>.xml
    • Теперь необходимо откорректировать файл /usr/local/fop/conf/userconfig.xml. Его секция fonts должна выглядеть так:
      <fonts>
          <!-- TTF fonts -->
      	<!-- Arial -->
      <font metrics-file="/usr/local/Fop/metrics/arial.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/arial.ttf">
      	<font-triplet name="Arial" style="normal" weight="normal"/>
      </font>
      <font metrics-file="/usr/local/Fop/metrics/arialbd.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/arialbd.ttf">
      	<font-triplet name="Arial" style="normal" weight="bold"/>
      </font>
      <font metrics-file="/usr/local/Fop/metrics/ariali.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/ariali.ttf">
      	<font-triplet name="Arial" style="italic" weight="normal"/>
      </font>
      <font metrics-file="/usr/local/Fop/metrics/arialbi.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/arialbi.ttf">
      	<font-triplet name="Arial" style="italic" weight="bold"/>
      </font>
      	<!-- TimesNewRoman -->
      <font metrics-file="/usr/local/Fop/metrics/times.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/times.ttf">
      	<font-triplet name="TimesNewRoman" style="normal" weight="normal"/>
      </font>
      <font metrics-file="/usr/local/Fop/metrics/timesbd.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/timesbd.ttf">
      	<font-triplet name="TimesNewRoman" style="normal" weight="bold"/>
      </font>
      <font metrics-file="/usr/local/Fop/metrics/timesi.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/timesi.ttf">
      	<font-triplet name="TimesNewRoman" style="italic" weight="normal"/>
      </font>
      <font metrics-file="/usr/local/Fop/metrics/timesbi.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/timesbi.ttf">
      	<font-triplet name="TimesNewRoman" style="italic" weight="bold"/>
      </font>
      	<!-- CourierNew -->
      <font metrics-file="/usr/local/Fop/metrics/cour.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/cour.ttf">
      	<font-triplet name="CourierNew" style="normal" weight="normal"/>
      </font>
      <font metrics-file="/usr/local/Fop/metrics/courbd.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/courbd.ttf">
      	<font-triplet name="CourierNew" style="normal" weight="bold"/>
      </font>
      <font metrics-file="/usr/local/Fop/metrics/couri.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/couri.ttf">
      	<font-triplet name="CourierNew" style="italic" weight="normal"/>
      </font>
      <font metrics-file="/usr/local/Fop/metrics/courbi.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/courbi.ttf">
      	<font-triplet name="CourierNew" style="italic" weight="bold"/>
      </font>
      </fonts>
  • И последний шаг, нужно дать команду:
    /usr/local/fop/fop.sh -c /usr/local/fop/conf/userconfig.xml -fo Diskless-HOWTO.fo -pdf Diskless-HOWTO.pdf

Заметка: Созданный таким способом pdf успешно просматривается программами Acrobat Reader и gv, но его нельзя просмотреть программой xpdf. Если вы знаете, каким образом сделать возможным просмотр в программе xpdf сообщите мне, пожалуйста, по адресу mvd@altlinux.ru. У меня не получилось успешно внедрять pfb шрифты, все кириллические символы в pdf документе заменялись символом '#'. Если вы знаете способ решения этой проблемы, сообщите мне по тому же адресу.


Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют