Только одна страница генерируется с проблемой разрыва страницы XSL-FO? - PullRequest
0 голосов
/ 30 августа 2011

Я создаю документ PDF через XSL-FO. У меня есть простая структура xhtml, как это:

<body>
<h2><center>Status</center></h2>
<table border="0">
<colgroup span="5"></colgroup>
<tr>
  <td><h4>Aktion</h4></td>
  <td><h4>Kommentar</h4></td>
  <td><h4></h4></td>
  <td><h4>Zeitpunkt</h4></td>
  <td><h4>Benutzer</h4></td>
</tr>
<tr>
  <td><h5>Mappe archiviert</h5></td>
  <td><h5>QMSAA</h5></td>
   <td><h5></h5></td>
  <td><h5>26.07.2011  13:14</h5></td>
  <td><h5>Mustermann, Peter</h5></td>
</tr>
<tr>
  <td><h5>Mappe als pdf gedruckt.</h5></td>
  <td><h5></h5></td>
  <td><h5></h5></td>
  <td><h5>26.07.2011  13:14</h5></td>
  <td><h5>Mustermann, Peter</h5></td>
</tr>
....

И я использую xhtml для создания таблицы стилей, чтобы преобразовать этот xhtml в таблицу xsl-fo. Это работает в большинстве случаев, и в этом случае здесь я также получаю одну страницу контента, но это должно быть как минимум две страницы. При генерации я получаю следующие предупреждения:

30.08.2011 09:57:36 org.apache.fop.apps.FopFactoryConfigurator configure ИНФОРМАЦИЯ: По умолчанию высота страницы установлена ​​на: 11 дюймов 30.08.2011 09:57:36 org.apache.fop.apps.FopFactoryConfigurator configure ИНФОРМАЦИЯ: Ширина страницы по умолчанию установлена ​​на 8,26 дюйма 30.08.2011 09:57:36 org.apache.fop.fo.flow.TableColumn bind ПРЕДУПРЕЖДЕНИЕ: table-layout = "fixed" и ширина столбца не указаны => возврат к pr oportional колонки ширины (1) 30.08.2011 09:57:37 org.apache.fop.layoutmgr.inline.ContentLayoutManager WARNUNG: Название не имеет содержания 30.08.2011 09:57:37 org.apache.fop.layoutmgr.PageBreaker $ 1 notifyOverflow ПРЕДУПРЕЖДЕНИЕ. Содержимое области региона на странице 1 переполняет доступную область в bl измерение прогрессии. (fo: page-sequence, контекстная информация недоступна)

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

The only page generated

  • В чем здесь может быть проблема?
  • Возможно ли иметь разрыв страницы между двумя элементами fo: table-row одной таблицы?
  • Почему не создается вторая страница?

Ответы [ 2 ]

1 голос
/ 02 сентября 2011

Существует проблема со свойством keep-with-next.within-column для блоков в ячейках таблицы в вашем документе FO.Если значения «always» заменяются на «auto», FOP 1.0 выводит четыре страницы.

Это может быть ошибкой в ​​FOP.Я также обработал документ FO с помощью XEP , и он выдал четыре страницы без жалоб.

Может быть, вы действительно хотите keep-together в строках таблицы?

Я такжезаметил пустой атрибут font-family на <fo:page-sequence>.

0 голосов
/ 01 сентября 2011

Не совсем ответ на ваш вопрос, но вы можете использовать open source speedata Publisher , который имеет автоматическое разбиение таблиц по страницам. Это не форматер XSL-FO, а похожий. В настоящее время только на немецком языке (это изменится весной 2012 года), но я знаю, что это не проблема для вас.

...