Проблемы/альтернативы nFop
Вопрос
Мне нужен бесплатный процессор .net XSL-FO, и я предварительно протестировал функциональность nfop.Я обнаружил некоторые недостатки, которые позволяют мне удовлетворить требования моего проекта.
Проблемы, с которыми я столкнулся:
- SVG не отображается
Функциональность водяных знаков практически невозможно отрисовать — тело отображается раньше всех остальных панелей, нет SVG (выше) и нет поворота текста.
атрибут «держать вместе» не реализован* (http://www.w3schools.com/xslfo/prop_keep-together.asp)
Третий момент особенно раздражает: я нашел обходные пути для некоторых из вышеперечисленных проблем (1,2), используя iTextSharp и впоследствии редактируя PDF-файл (беспорядочно).
Мои вопросы:
- Есть ли обходные пути для любой из проблем, упомянутых выше?
- С какими еще проблемами люди столкнулись при работе с nfop?
- Существуют ли альтернативные процессоры XSL FO для .net?
Решение
Другие механизмы FOP с интерфейсами .NET, которые следует учитывать:
Уровень соответствия стандартам FOP и ошибок/проблем варьируется в зависимости от механизма FOP, поэтому я бы рекомендовал использовать несколько механизмов FOP (многие предлагают пробные версии) при разработке, чтобы определить, есть ли проблема с вашим FOP или ошибка/проблема с вашим движок рендеринга.
Другие советы
Я нашел один способ решения проблемы с атрибутом держаться вместе.Вместо использования этого атрибута я связываю элементы строки таблицы вместе, используя:
<fo:table-row keep-with-previous="always">
Вышеупомянутый атрибут, похоже, реализован.
В качестве ссылки я использовал следующий сайт:http://www.ibm.com/developerworks/xml/library/x-tippgbk/index.html
Я все еще хотел бы услышать другие проблемы/обходные пути/альтернативы для nfop.
Спасибо за ответ, Мэдс.К сожалению, эти варианты мне недоступны из-за бюджетных ограничений и тому подобного.
Мне придется использовать iTextSharp и потом добавить водяной знак вручную (ура).
Что ж, этот щенок снова поднял голову, и я столкнулся с проблемой «сохранения блоков на одной странице».
я нашел
<fo:table-row keep-together="always">
сработало очарование.