Как сохранить печать моих тем последовательно, без пустой страницы после каждой темы

#page-break #dita #dita-ot

Вопрос:

DITA 3.6
Кислородный XML-редактор 23.1

Ни книга «ДИТА для печати», ни какой-либо другой источник до сих пор не помогли мне создать pdf-файл, в котором темы указаны последовательно, а не на пустой странице после них. К каждой теме в ditamap я добавил outputclass=»Разрыв страницы-избегайте». К каждому элементу темы в каждом файле я добавил outputclass=»избегать разрыва страницы».

Должен ли я добавить что-то в файл xsl? Можете ли вы указать мне на ответ?

Ответ №1:

Пустая страница создается на основе свойства определения fo:page-sequence/@force-page-number .

Чтобы изменить, чтобы не генерировать пустую страницу, вы можете переопределить org.dita.pdf2/cfg/fo/attrs/commons-attr.xsl .

     <xsl:attribute-set name="__force__page__count">
        <xsl:attribute name="force-page-count">
            <xsl:choose>
                <xsl:when test="/*[contains(@class, ' bookmap/bookmap ')]">
                    <xsl:value-of select="'even'"/>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:value-of select="'auto'"/>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:attribute>
    </xsl:attribute-set>

 

Измените значение even в auto соответствии с вашими потребностями.

Шаги по настройке

Я не знаком с подключаемым модулем PDF2. Так что это может быть не стандартный способ. Но я мог бы настроить его, выполнив следующие действия.

  1. Сделайте файл XSL для настройки

[DITA-OT]/плагины/org.dita.pdf2/Настройка/fo/attrs/commons-attr.xsl

 <?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:fo="http://www.w3.org/1999/XSL/Format"
    xmlns:rx="http://www.renderx.com/XSL/Extensions"
    version="2.0">

    <xsl:attribute-set name="__force__page__count">
        <xsl:attribute name="force-page-count">
            <xsl:choose>
                <xsl:when test="/*[contains(@class, ' bookmap/bookmap ')]">
                    <xsl:value-of select="'auto'"/>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:value-of select="'auto'"/>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:attribute>
    </xsl:attribute-set>

</xsl:stylesheet>

 
  1. Включите его в [DITA-OT]/плагины/org.dita.pdf2/Настройка/fo/attrs/custom.xsl
 <?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:fo="http://www.w3.org/1999/XSL/Format"
    version="2.0">
    <xsl:include href="commons-attr.xsl"/>
</xsl:stylesheet>
 
  1. Настройка [DITA-OT]/plugins/org.dita.pdf2/Customization/catalog.xml
 <?xml version="1.0" encoding="utf-8"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
  <!-- Custom attributes entry -->
  <uri name="cfg:fo/attrs/custom.xsl" uri="fo/attrs/custom.xsl"/>
</catalog>
 
  1. Укажите customization.dir свойство с [DITA-OT]pluginsorg.dita.pdf2Customization в сценарии преобразования кислорода.

Сценарий трансформации кислорода

  1. Примените сценарий трансформации из кислорода.
  2. У меня есть следующее temp/topic.fo . fo:page-sequence/@force-page-count Ставший auto и в результате PDF-файл, лишние пустые страницы удаляются.

сравнение temp/topic.fo

Комментарии:

1. Спасибо, что поделились этим. Однако это не работает. Я сохранил файл commons-attr.xsl в папке Настройки/fo/attrs. Я работаю в редакторе XML Oxygen 23.1, DITA 3.3.

2. @n3v3r8g81n Я добавил примеры шагов настройки. Я также работаю с новейшим редактором XML Oxygen 23.1.

3. Идеальный. спасибо вам за дополнительные шаги. ты хороший писатель. к сожалению, до сих пор не удается. Я также работаю с Дитой для печатной книги. Видишь drive.google.com/file/d/1WlhNj40JHWXH1yIOLa4Qn9SxgSyJcKYp/. … И могу ли я выразить свою благодарность, отправив немного долларов?

4. @n3v3r8g81n Если вам все еще не удается получить желаемый результат, сообщите мне все, что вы заметили в своей настройке. Я всегда готов воспроизвести ваши рабочие шаги, потому что вы используете ту же версию кислорода.

5. @n3v3r8g81n Ваша настройка, похоже, верна. Если возможно, не могли бы вы выслать мне temp/topic.fo файловый архив во временную папку?