Получение нежелательной второй титульной страницы при обработке docbook в PDF через fop - PullRequest
0 голосов
/ 23 февраля 2012

Я создаю стандартный формат книги в Dockbook XML, а затем форматирую в PDF с помощью fop.

Когда я создаю окончательный PDF, я получаю вторую сломанную титульную страницу, которая имеет заголовок и встроенное изображение снова. На этой странице заголовок выровнен по всей странице (как ни странно), а изображение не в центре.

В заголовке также есть дополнительное двоеточие, которого нет в названии книги.

Если я удаляю титульный лист, используя параметры XSL, титульный лист удаляется, но сломанный титульный лист все равно остается в PDF.

Я вижу дополнительную строку, которая генерирует вторую страницу в файле .fo, но не могу понять, как она туда попадает через xsltproc . Мое первое предположение заключается в том, что он автоматически создает титульный лист, а затем заново интерпретирует заголовок, прежде чем он пройдет через другие главы.

У меня не возникает проблема с титульным листом, если я экспортирую через oXygen, что делает его более непонятным.

Вот код книги:

<!DOCTYPE book [
<!ENTITY chap1 SYSTEM "01_n.xml">
<!ENTITY chap2 SYSTEM "02_n.xml">
<!ENTITY chap3 SYSTEM "03_n.xml">
<!ENTITY chap4 SYSTEM "04_n.xml">
<!ENTITY chap5 SYSTEM "05_n.xml">
<!ENTITY chap6 SYSTEM "06_n.xml">
<!ENTITY chap7 SYSTEM "07_n.xml">
<!ENTITY chap8 SYSTEM "08_n.xml">
<!ENTITY chap9 SYSTEM "09_n.xml">
<!ENTITY chap10 SYSTEM "10_n.xml">
<!ENTITY chap11 SYSTEM "11_n.xml">
<!ENTITY chap12 SYSTEM "12_n.xml">
<!ENTITY chap13 SYSTEM "13_n.xml">
<!ENTITY chap14 SYSTEM "14_n.xml">
<!ENTITY chap15 SYSTEM "15_n.xml">
<!ENTITY chap16 SYSTEM "16_n.xml">
<!ENTITY chap17 SYSTEM "17_n.xml">
<!ENTITY chap18 SYSTEM "18_n.xml">
]>

<book xmlns="http://docbook.org/ns/docbook" version="5.0">
    <info>
        <title>Manual</title>
         <subtitle>
            <inlinemediaobject>
                <imageobject>
                    <imagedata fileref="logo.png" format="image_format" scalefit="1" width="100%" contentdepth="100%" />
                </imageobject>
            </inlinemediaobject>
        </subtitle>
    </info>

    &chap1;
    &chap2;
    &chap3;
    &chap4;
    &chap5;
    &chap6;
    &chap7;
    &chap8;
    &chap9;
    &chap10;
    &chap11;
    &chap12;
    &chap13;
    &chap14;
    &chap15;
    &chap16;
    &chap17;
    &chap18;
</book>

И pdf часть make-файла:

pdf:   
    xsltproc  \
    --output  myfile.fo  \
    --stringparam  paper.type  A4  \
    /docbook/format.xsl \
    book.xml

    fop  -fo  myfile.fo  -pdf  myfile.pdf

    open myfile.pdf

В формальном файле .xsl, который я использую, нет ничего особенного, и я получаю тот же результат, если использую стандартный xsl-файл docbook.

Спасибо за любую помощь! Я уже получил много полезных советов по форматированию документации, выполняя поиск по существующим вопросам.

1 Ответ

2 голосов
/ 19 марта 2012

mzjn предоставил подсказку:

Я использовал: <xsl:template name="book.titlepage.before.verso"/>

Когда я должен был использовать: <xsl:template name="book.titlepage.verso"/>

Последний код удаляет вторую шаткую страницу, тогда как первый удаляет только разрыв страницы.

...