Какую технологию создания изображения страницы я должен использовать? - PullRequest
9 голосов
/ 29 января 2009

Я сейчас создаю настольное приложение, которое представляет его читабельный вывод в виде XHTML, отображаемого в элементе управления WebBrowser. В конце концов, этот вывод придется преобразовать из файла XHTML в изображение документа в системе обработки изображений. В отличие от документов XHTML, изображение документа должно быть разделено на физические страницы; кроме того - и это та часть, которая меня убивает - на этих страницах должны быть верхние и нижние колонтитулы.

Как бы мне ни хотелось, я не могу просто заставить WebBrowser печатать в файл - поддерживаемые им параметры верхнего / нижнего колонтитула далеко не достаточно сложны. Поэтому я пытаюсь выяснить, какова правильная технология для создания этих изображений.

Мне кажется (хотя это и не обязательно), что я в конечном итоге буду делать PDF-версии HTML-документов (чтобы я мог добавлять верхние и нижние колонтитулы), а затем отображать PDF-файлы в формате TIFF, что окончательный формат, который хочет система обработки изображений. Итак, что я рассматриваю:

  • Используйте какое-то программное обеспечение для преобразования XHTML в PDF. Проблема в том, что, не выполняя много оценки и тестирования, я не могу понять, есть ли у продуктов, на которые я смотрел, даже возможность делать то, что мне нужно, то есть брать существующие документы XHTML, украшать их заголовками и нижние колонтитулы и разбить их на страницы.

  • Используйте XSL-FO для создания PDF-файлов. Здесь помогает быть фанатом XSLT уровня ниндзя (именно так я и создаю XHTML), но все равно это выглядит как неловкое и медленное решение с большим количеством движущихся частей. Кроме того, это означает, что я вставляю большую неуклюжую Java-программу в середину моей красивой чистой системы .NET, хотя я, безусловно, достаточно взрослый, чтобы сделать это, если это правильный ответ.

  • Используйте некоторые другие технологии, о которых я даже не думал, например, LaTeX. Может быть, есть какой-то чудесный инструмент для отображения страниц, который превращает XHTML прямо в TIFF с верхними и нижними колонтитулами страниц. Это было бы идеально.

Мои основные проблемы:

  • Я создаю коммерческий продукт; любая технология, которую я использую, должна быть доступной и поддерживаемой. Это не обязательно должно быть бесплатно.

  • Я не хочу исчезать в кроличьей норе в течение трех месяцев, стуча по этому материалу, чтобы заставить его работать. Интуитивно это выглядит как проблемное пространство, где я могу потерять много времени, просто оценивая и отвергая инструменты.

  • Какое бы решение я ни принял, оно должно быть относительно невосприимчивым к изменениям форматирования в XHTML. Причина, по которой я в основном использую XSLT и создаю XHTML, заключается в том, что документы, которые я создаю, динамически собираются с использованием бизнес-правил, которые постоянно меняются.

Я провел много времени в поисках альтернатив и не нашел ничего, что, очевидно, ответило бы. Но, может быть, один из вас, замечательные люди, уже решил эту проблему, и если это так, я бы хотел встать на ваши плечи.

Ответы [ 13 ]

1 голос
/ 17 февраля 2009

Вы думали об использовании postscript?

ps: какие колонтитулы вам нужны - ваши собственные для размещения страниц между ними? если это так, постскриптум или PDF, вероятно, лучше. но будет очень сложно создать конвертер xhtml + css в pdf. в основном вам нужна библиотека, которая может анализировать как xhtml, так и css (+ любые объекты, такие как изображения, flash и т. д.)

0 голосов
/ 25 февраля 2009

http://iecapt.sourceforge.net/

цитирование по вышеуказанному сайту:

IECapt - это небольшая утилита командной строки, предназначенная для записи рендеринга веб-страницы в Internet Explorer в файл изображения BMP, JPEG или PNG. Версия C ++ также имеет экспериментальную поддержку векторного графического вывода расширенного метафайла. IECapt доступен в версиях C ++ и C #.

0 голосов
/ 24 февраля 2009

Вы упомянули результаты экспорта вашего текущего настольного приложения в формате xhtml. Так как xhtml - это правильно сформированный xml, вам не стоит использовать xsl fo для его экспорта в pdf.

XML -> XSL-FO = PDF

Вот руководство для начинающих: http://www.devx.com/xml/Article/16430

Моя компания использовала эту технику в веб-аппликации java + cocoon для правительства Нидерландов.

...