Как использовать поплавки с XSL-FO в C # (NFOP)?

StackOverflow https://stackoverflow.com/questions/4624092

  •  30-09-2019
  •  | 
  •  

Вопрос

Вопрос: Поддержка NFOP плавает?

Задний план: У меня есть требование генерировать отчет о печати, содержащий номера страниц, корпоративный логотип и таблицу данных. Отчет предназначен для веб-проекта, и изначально я думал о том, чтобы сделать его в Pure HTML с помощью стилей для печати CSS, однако номера страниц и расщепление клеток таблиц, кажется, являются проблемами.

Из-за этого я решил пойти на маршрут PDF Generation, используя XSL для генерации XSL и используя NFOP для генерации PDF. Тем не менее, кажется, что NFOP не поддерживает <fo:float> Часть XSL-FO?

Ниже отображается нормально:

<fo:block>
  <fo:external-graphic src="c:\Projects\NFopSpike\NFopSpike\logo.jpg" />
  <fo:block>
    Foo
  </fo:block>
  <fo:block>
    Bar
  </fo:block>
</fo:block>

Ниже пропускается график полностью:

<fo:block>
  <fo:float float="start">
    <fo:external-graphic src="c:\Projects\NFopSpike\NFopSpike\logo.jpg" />
  </fo:float>
  <fo:block>
    Foo
  </fo:block>
  <fo:block>
    Bar
  </fo:block>
</fo:block>

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

Это было полезно?

Решение

NFOP (последний выпуск в марте 2008 г.) - это порт Apache FOP (последний выпуск в июле 2010 года). Apache Fop никогда не поддерживал fo: float (см. http://xmlgraphics.apache.org/fop/compliance.html#foobject-float.).

Таким образом, ответ на ваш вопрос: нет, fo: float, к сожалению, не поддерживается.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top