2011-12-21 1 views
14

Я рассматриваю возможность создания всех отчетов из серии настольных бизнес-приложений непосредственно в html. Большинство отчетов представляют собой таблицы (возможно, составные отчеты), заголовки, нижние колонтитулы и т. Д. (Без изображений, векторной графики и т. Д.).Насколько зрелым является HTML + CSS в отношении создания отчетов для печати?

После поиска в SO я прочитал много сообщений о проблемах с разрывами страниц и тому подобным (мне вообще не нужно позиционирование пикселей, но да, контроль на разрыве страницы).

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

Какие технологии могут помочь мне здесь?

  • HTML5
  • Javascript
  • CSS
  • PHP Librarys
  • JQuery

Некоторые примечания:

  • HTML, будет отображаться с хромом или двигателем FireFox Эм так что различия между браузерами для меня не проблема.
  • У меня может быть встроенный препроцессор php, если это помогает с легкостью генерировать отчеты, я просто ищу лучшие технологии под рукой, чтобы хорошо работать.
  • Я устал от генераторов отчетов с " WYSIWYG "(Crystal Report, FastReport, ReportBuilder и т. Д.)

Спасибо!

+0

Я бы сказал, что ваша основная проблема заключается в том, что HTML + CSS является беспроблемным средним, осознавая, что типы страниц/высоты правильно разбиваются и т. Д. – jondavidjohn

+3

Если вы задаете вопрос о зрелости HTML, вы можете хочу не говорить о HTML5 в этот момент ... :) – BoltClock

+0

Да, обратите внимание, я признаю, что у меня нет большого опыта работы с HTML и веб-технологиями (Javascript, HTML5, CSS и т. д.), но да с рабочим столом приложения, базы данных, бизнес-логики, бухгалтерский учет и т. д. –

ответ

8

Мы сделали точный ход вы думаете о почти год назад и не оглядывался назад. Большая часть общения с нашим клиентом осуществляется через Интернет, поэтому он идеально подходит. Они могут легко просматривать html-выходы на нашем веб-сайте и при необходимости генерировать PDF-страницу страницы (на стороне сервера). Программа, которую мы используем для преобразования PDF, представляет собой бесплатный, простой в использовании проект с открытым исходным кодом под названием wkhtmltopdf.

Где мы находимся, это здорово, но попасть сюда было сложно.

Решение о том, какой pdf-движок использовать, был долгим, болезненным процессом. Короче говоря, HTML предназначен для просмотра страниц в Интернете, а не для просмотра страниц на бумаге. Перерывы страниц станут проклятием вашего существования в этой игре - вам буквально приходится измерять каждую страницу и создавать свои собственные чистые перерывы для каждого отдельного отчета (в противном случае все конвертеры html-to-pdf там будут просто хранить рендеринг документа на следующую страницу, поскольку он вообще не обнаруживает разрыва страницы). Далее осложняется то, что каждый движок html-to-pdf обрабатывает это sh * t по-разному, и вам придется написать индивидуальное решение для проверки каждого из них, чтобы узнать, соответствует ли оно вашим индивидуальным потребностям.

Теперь хорошая новость:

Вы можете сэкономить много неприятностей, слушая мои советы и идти с wkhtmltopdf для итоговых выходов отчетности. Эта небольшая программа просто потрясающая - она ​​использует движок webkit, точно отображает CSS/javascript, имеет элемент управления заголовком/нижним колонтитулом, необязательно создает страницу со списком содержимого и (что самое главное) последовательно создает отлично выглядящие pdf-файлы без необходимости настройки ваша база кода. Он также имеет множество отличных переключателей командной строки, и очень, очень быстро. Я говорю еще раз: очень, очень быстро.

Лучше всего, это инструмент командной строки, который может использоваться в пакетной обработке. И я упомянул, что это действительно, очень быстро?

+0

Проект [wkhtmltopdf имеет новый url.] (Http://wkhtmltopdf.org/) – Pointy

6

Поддержка браузера для печати, как правило, ужасная. Однако есть и другие инструменты, в частности Prince (который не является бесплатным) и Flying Saucer (который -), который может генерировать PDF-вывод из XML/HTML плюс CSS. Принц даже поддерживает JavaScript, хотя у меня нет опыта с ним.

У меня есть Java-конец в моем текущем приложении, поэтому для меня Flying Saucer отлично работает для простых отчетов. Я предварительно обрабатываю HTML-шаблон с помощью FreeMarker, а затем запускаю результат через Flying Saucer. У этого есть удивительно умный двигатель рендеринга.

Спецификация CSS3 Paged Media (ну, предлагаемая спецификация) имеет в своем распоряжении всевозможные интересные вещи, но они почти полностью не реализованы в браузерах. Даже материал, загруженный в CSS2, поддерживается только половинчато.

+1

Очень хороший ответ. HTML и CSS неплохие. Речь идет о конкретных реализациях. –

0

Говоря о принце, вы можете изучить DocRaptor. DocRaptor - еще одно приложение HTML to PDF conversion. Он использует Prince XML и обрабатывает CSS лучше, чем сопоставимые программы.

Это не бесплатно, но предлагает бесплатную пробную 30-дневную пробную версию для всех учетных записей, так что нет никакого вреда в ее попытке, по крайней мере.

DocRaptor

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