2009-08-10 1 views
4

Я собираюсь создать конвертер из html в какой-то формат. Я собираюсь использовать XML-формат промежуточного формата (XSL-FO).Почему XSL-FO популярна?

Мой вопрос: Почему формат FO популярный, если его не так много приложений?

+0

XSL-FO был популярен для поколения PDf, но сегодня и завтра не так! Знаете ли вы технологии «CSS + XHTML в PDF»? См. [Почему XSL-FO вместо CSS2 используется для преобразования HTML в хороший PDF?] (Http: // stackoverflow.com/q/10641667/287948) вопрос и ответы –

ответ

1

Оба RenderX и Antenna House делают отличные XSLFO-> средства визуализации PDF. Существует также бесплатный рендеринг [Apache FOP], который достаточно хорош для многих проектов. Требуется серьезное усилие для полной поддержки FO во всех деталях; возможно, бар для входа слишком высок, исходя из размера рынка, установленных игроков и потенциального возврата.

Не то, чтобы вы спросили, но прежде чем делать слишком много работы на FO на HTML, есть несколько бесплатных вариантов, которые могут сэкономить вам какое-то усилие.

  • RenderX имеет на своем сайте набор бесплатных FO->HTML stylesheets.
  • HTML2fo доступен на SourceForge.
+0

Я не думаю, что он просил рекомендации по инструменту – skaffman

+0

@skaffman, возможно, нет, но видя, как это сделали другие, может помочь ему. Просто быть хорошим соседом. :) – lavinio

+0

Зачем использовать fo, если я могу вставить стили CSS в html-теги? Наверное, моих знаний недостаточно, и я не знаю, какие преимущества даст в будущем? – Constantine

6

Мне хорошо известно, что между сторонниками CSS и XSL-FO существуют большие споры, и у обеих сторон есть правильные и хорошие моменты.

Вот лучший краткое аргумент для XSL-FO, что я видел до сих пор:

XSL-FO обеспечивает более сложные визуальную модель макета, чем HTML + CSS. Форматирование, поддерживаемое XSL-FO, но , не поддерживаемое HTML + CSS, включает в себя текст справа налево и сверху вниз, сноски, заметки маржи, номера страниц в перекрестных ссылках и многое другое. В особенно, в то время как CSS (каскадный стиль Листы) в основном предназначен для использования в Интернете, XSL-FO предназначен для использования по адресу . Например, может написать таблицу стилей XSL , в которой используются форматирующие объекты для размещения всей печатной книги. A таблица стилей должна быть способна преобразовать один и тот же XML-документ в веб-сайт.

(Источник: http://www.cafeconleche.org/books/bible2/chapters/ch18.html)

Вот некоторые попрешь XSL-FO превосходит:

В то время как здесь некоторые говорят, что CSS лучше:

0

XSL-FO является общим стандартом, что исполнители инструмента могут следовать, чтобы гарантировать совместимость, таким же образом, что HTML является общим стандартом для веб-страниц, XSL является стандартом для XML-to * перевод и т.д.

Если HTML можно считать хорошо сформированный XML (т.е. короткие теги закрыты должным образом, такие как < бр/> и < IMG/> - не < бр > и <IMG>), то вам должен иметь возможность использовать XSL для переведите это непосредственно на XSL-FO, который затем можно передать непосредственно на инструмент, например Apache FOP для преобразования. Если он не является корректным, вы всегда можете использовать инструмент Python BeautifulSoup или DOMDocument :: loadHTML() PHP для загрузки HTML и вывода хорошо сформированного XHTML для вашего преобразования.

Есть также инструменты, такие как FPDF (PHP) и Prawn (Ruby, который был использован для очень симпатичной Dopplr reports), но ИМХО они гораздо более «неудобный» для использования - более, как с помощью абсолютного позиционирования в CSS, чем позволяет вещи течь сами по себе. Может вызвать проблемы при рассмотрении разрывов страниц и т. Д.

Однако все это зависит от того, что вы делаете с выходом.

1

Вы проверили двигатель Ecrion XSL-FO? Босс выбрал его, потому что он поддерживает лот выходных форматов (PDF, Word, PowerPoint, Postscript, HTML и очень классный режим вывода Silverlight), и у него есть невероятный дизайнер (насколько мне известно, это единственный, который может работать с другими форматирующими двигателями, включая FOP). Проблема с использованием HTML для создания PDF заключается в следующем:

  • HTML не позволяет вам управлять разбиением на страницы (например, иметь разные макеты на четных/нечетных страницах, точно так же, как книга или каталог).
  • Вы не можете контролировать верхние и нижние колонтитулы.
  • Нет указаний по созданию ссылок на номера страниц, сносок, вставка количества страниц и множество других вещей, которые могут иметь печатные издания.

Продвинутые двигатели, такие как Ecrion, Antenna и Renderx, также могут создавать высококачественные PDF-файлы (например, PDF/A для архивирования или PDF/X для печати).

 Смежные вопросы

  • Нет связанных вопросов^_^