Формирование отчета в HTML с картинками
Сделал новую версию Maple4 Report Generator - теперь с поддержкой бланков в формате HTML/HTM.
<br/><br/>Думаю, хоть раз кто-то делал следующее - брался некий html-ный файл, а уже в нем, вместо заранее внесенных тегов размещались поля таблиц/курсоров, значения функций и переменных.
<br/>Все потому, что html-формат достаточно прост для понимания, а для его редактирования можно воспользоваться обычным Блокнотом.
<br/>Плюс, огромные возможности для реализации любой задумки, например, несколько таблиц в одном отчете - это вовсе тривиальная задача <img src="http://cp.people.overclockers.ru/smiles/icon_smile.gif" border="0">
<br/><br/>Есть подводные камни. Например, Word от Microsoft постоянно норовит разместить дополнительные -ы прямо в теге, поэтому приходится либо перед генерацией дополнител...
Сделал новую версию Maple4 Report Generator - теперь с поддержкой бланков в формате HTML/HTM.
Думаю, хоть раз кто-то делал следующее - брался некий html-ный файл, а уже в нем, вместо заранее внесенных тегов размещались поля таблиц/курсоров, значения функций и переменных.
Все потому, что html-формат достаточно прост для понимания, а для его редактирования можно воспользоваться обычным Блокнотом.
Плюс, огромные возможности для реализации любой задумки, например, несколько таблиц в одном отчете - это вовсе тривиальная задача
Есть подводные камни. Например, Word от Microsoft постоянно норовит разместить дополнительные -ы прямо в теге, поэтому приходится либо перед генерацией дополнительно обрабатывать бланк, либо отказываться от редактирования уже готового бланка Word-ом, пользуясь только Блокнотом.
Или, например, размещение своей таблицы в документе.
Вроде бы ничего сложного (< table > < tr > < td > < /td > < /tr > < /table >), но ЕЙ-БОГУ иногда замучаешься правильно подобрать ширину колонок, шрифт,
размер, цвет и другие параметры таблиц. А ведь еще хочется итогов, выделения этих итогов/подитогов и многого другого.
В общем, в какой-то момент наступает понимание, что двигаешься не туда
, и руки опускаются (точнее, постепенно несколько охладеваешь к тому, что казалось достаточно простым).
Что предлагаю я?
I. Есть некий шаблон в формате html. Вы его редактируете каким-либо образом (Word, OO Writer, Блокнот и т.д.) и размещаете в его теле специальные теги - некий текст, ограниченный ` и ` с двух сторон.
II. Если необходимо разместить в документе таблицу (с шапкой, группировками, итогами/подитогами, вставкой строк по условию и т.д.) - в специальной программе (report builder - из программы rb_edit.exe)
создается ее дизайн, а в шаблоне, в коде тега, дается команда на использование этой таблицы при генерации документа.
После этого запускаете генератор, выбираете шаблон и получаете готовый документ с размещенной таблицей (и даже не одной) внутри документа!
Чем хороша именно такая схема создания (шаблон+report builder)?
1. Редактируя шаблон в Word или Open Office Writer Вы можете не бояться того, что тег будет изменен - на работу тега это никак не отразится.
2. Таблица, созданная в report builder (rb) может применяться в других html-шаблонах (и, кстати, вид таблицы на html-странице ТЕОРЕТИЧЕСКИ не зависит от браузера).
3. Таблица, созданная в rb, может разместить в своем коде другую таблицу (вложенная таблица), которая может строиться на совершенно другом селекте/курсоре.
Есть некоторые минусы использования бланка html:
1. Несколько больший размер получаемого документа по сравнению с ods и odt - ну что ж Вы хотите, по сути ods и odt - это все таки zip-архивы
2. Документ html может по разному отображаться в разных браузерах - от этого никуда не деться, конкуренция
блин.
3. Документ, созданный в Word, Open Office Writer наверняка постарается изменить, и, возможно, не в лучшую сторону. Как и наоборот, впрочем, когда документ, созданный Open Office
Writer-ом, пытается открыть на редактирование Word.
И это не смотря на то, что используется одно расширение - html/htm
Плюсы создания отчетов на основе бланков html:
1. Бланк создается/редактируется либо визуальным редактором (Word, oo Writer и т.д.), либо, например, тем же Блокнотом.
2. Нет проблем с изменением тегов Word-ом или oo Writer-ом, генератор правильно определит, что является тегом. Ну и, правильно вставит вместо тега нужный текст.
3. Построение и вставка простых и сложных таблиц (Report Builder) с итогами по группам (+ с возможностью генерации подчиненных таблиц) без ограничения на количество в отчете.
4. Автоматический сбор картинок, используемых в отчете, в папку отчета (для простоты копирования) - причем как картинок бланка, так и картинок, генерируемых rb!
5. Редактирование дизайна таблицы в отдельной программе - считаю это плюсом (возможность вставки в другие бланки или в другие rb-репорты)!
Отличие генерации на основе HTML-шаблонов от генерации на бланках других форматов (xml, ods, odt)
1. Теги размещаются непосредственно в теле документа, между ` и `, а НЕ В КОММЕНТАРИИ, так как:
а) в Word невозможно ТОЧНО разместить комментарий в нужном месте и
б) форматы комметариев в Word и oo Writer несколько различаются, не смотря на то, что используется один формат HTML
Особенность разработки Html-бланков и репортов rb.
1. Если Вы используете rb-репорты (файлы с расширением m4rb и одноименными каталогами) - ОНИ ОБЯЗАТЕЛЬНО ДОЛЖНЫ находиться в каталоге запуска енератора отчетов (т.е. там же, где находится файл m4rg.exe)!
2. Генератор НЕ АНАЛИЗИРУЕТ сами стили (только - готовый html-файл), поэтому не создавайте html-бланк со стилем в подпапке!
Целая куча exe-файлов... За что отвечает каждый из них?
m4rg.exe - генератор отчетов (задаете бланк - получаете отчет)
rb.exe - программа формирования таблицы в html при помощи
rb-репортов (используется для генерации отчетов на
основе бланков HTML).
rb_edit.exe - надстройка, позволяющая создавать и редактировать rb-репорты прямо из проводника (для генерации в HTML-бланках).
Если Вы хотите создать/отредактировать rb-репорт - запустите rb_edit.exe
7za.exe - zip-архиватор
Ну, и, напоследок...
Претензии к Open Office Writer (о как
)
1. Я не понимаю, ЗАЧЕМ надо в теле html-документа превращать имя рисунка (точнее, каталога, где он находится), написанное на русском в esc-последовательность (Word это делает только со знаками до пробела).
Впрочем, может это IE виноват? Как и Word, заодно?
ПОЧЕМУ IE не отображает картинку, русские буквы которого замененены на esc-последовательность?
Обратите внимание, что готовый отчет по бланку отлично отображается как в Mozilla FireFox, так и в IE (так работает генератор).
Но это все работает только до первого изменения oo Writer-ом
.
После чего в IE отображаются пустые окна от рисунков.
2. Для Word-а html-формат - это попытка Microsoft как можно лучше отобразить doc-документ (не смотрите на расширение) прямо на странице в Интернет.
Да, это не чистый HTML, да код излишний... и все же считаю, что попытка удалась.
Doc-документ, сохраненный в html, практически не отличается от оригинала (если не использовать уникальные способности Word!)
Страница описания работы с бланком HTML/HTM:
http://www.maple4.ru/readme_html.htm
Страница описания работы с rb (создание/редактирование
rb-репорта в rb_edit.exe):
http://www.maple4.ru/readme_rb.htm
Загрузка архива (генератор, rb, rb_edit, конвертер, бланки шаблонов - в том числе шаблоны html, созданные в Word и OO Writer, DLL и файлы помощи):
http://www.maple4.ru/a_downloads_for_maple4_ru/maple4_report_generator.zip
Думаю, хоть раз кто-то делал следующее - брался некий html-ный файл, а уже в нем, вместо заранее внесенных тегов размещались поля таблиц/курсоров, значения функций и переменных.
Все потому, что html-формат достаточно прост для понимания, а для его редактирования можно воспользоваться обычным Блокнотом.
Плюс, огромные возможности для реализации любой задумки, например, несколько таблиц в одном отчете - это вовсе тривиальная задача
Есть подводные камни. Например, Word от Microsoft постоянно норовит разместить дополнительные -ы прямо в теге, поэтому приходится либо перед генерацией дополнительно обрабатывать бланк, либо отказываться от редактирования уже готового бланка Word-ом, пользуясь только Блокнотом.
Или, например, размещение своей таблицы в документе.
Вроде бы ничего сложного (< table > < tr > < td > < /td > < /tr > < /table >), но ЕЙ-БОГУ иногда замучаешься правильно подобрать ширину колонок, шрифт,
размер, цвет и другие параметры таблиц. А ведь еще хочется итогов, выделения этих итогов/подитогов и многого другого.
В общем, в какой-то момент наступает понимание, что двигаешься не туда
Что предлагаю я?
I. Есть некий шаблон в формате html. Вы его редактируете каким-либо образом (Word, OO Writer, Блокнот и т.д.) и размещаете в его теле специальные теги - некий текст, ограниченный ` и ` с двух сторон.
II. Если необходимо разместить в документе таблицу (с шапкой, группировками, итогами/подитогами, вставкой строк по условию и т.д.) - в специальной программе (report builder - из программы rb_edit.exe)
создается ее дизайн, а в шаблоне, в коде тега, дается команда на использование этой таблицы при генерации документа.
После этого запускаете генератор, выбираете шаблон и получаете готовый документ с размещенной таблицей (и даже не одной) внутри документа!
Чем хороша именно такая схема создания (шаблон+report builder)?
1. Редактируя шаблон в Word или Open Office Writer Вы можете не бояться того, что тег будет изменен - на работу тега это никак не отразится.
2. Таблица, созданная в report builder (rb) может применяться в других html-шаблонах (и, кстати, вид таблицы на html-странице ТЕОРЕТИЧЕСКИ не зависит от браузера).
3. Таблица, созданная в rb, может разместить в своем коде другую таблицу (вложенная таблица), которая может строиться на совершенно другом селекте/курсоре.
Есть некоторые минусы использования бланка html:
1. Несколько больший размер получаемого документа по сравнению с ods и odt - ну что ж Вы хотите, по сути ods и odt - это все таки zip-архивы
2. Документ html может по разному отображаться в разных браузерах - от этого никуда не деться, конкуренция
3. Документ, созданный в Word, Open Office Writer наверняка постарается изменить, и, возможно, не в лучшую сторону. Как и наоборот, впрочем, когда документ, созданный Open Office
Writer-ом, пытается открыть на редактирование Word.
И это не смотря на то, что используется одно расширение - html/htm
Плюсы создания отчетов на основе бланков html:
1. Бланк создается/редактируется либо визуальным редактором (Word, oo Writer и т.д.), либо, например, тем же Блокнотом.
2. Нет проблем с изменением тегов Word-ом или oo Writer-ом, генератор правильно определит, что является тегом. Ну и, правильно вставит вместо тега нужный текст.
3. Построение и вставка простых и сложных таблиц (Report Builder) с итогами по группам (+ с возможностью генерации подчиненных таблиц) без ограничения на количество в отчете.
4. Автоматический сбор картинок, используемых в отчете, в папку отчета (для простоты копирования) - причем как картинок бланка, так и картинок, генерируемых rb!
5. Редактирование дизайна таблицы в отдельной программе - считаю это плюсом (возможность вставки в другие бланки или в другие rb-репорты)!
Отличие генерации на основе HTML-шаблонов от генерации на бланках других форматов (xml, ods, odt)
1. Теги размещаются непосредственно в теле документа, между ` и `, а НЕ В КОММЕНТАРИИ, так как:
а) в Word невозможно ТОЧНО разместить комментарий в нужном месте и
б) форматы комметариев в Word и oo Writer несколько различаются, не смотря на то, что используется один формат HTML
Особенность разработки Html-бланков и репортов rb.
1. Если Вы используете rb-репорты (файлы с расширением m4rb и одноименными каталогами) - ОНИ ОБЯЗАТЕЛЬНО ДОЛЖНЫ находиться в каталоге запуска енератора отчетов (т.е. там же, где находится файл m4rg.exe)!
2. Генератор НЕ АНАЛИЗИРУЕТ сами стили (только - готовый html-файл), поэтому не создавайте html-бланк со стилем в подпапке!
Целая куча exe-файлов... За что отвечает каждый из них?
m4rg.exe - генератор отчетов (задаете бланк - получаете отчет)
rb.exe - программа формирования таблицы в html при помощи
rb-репортов (используется для генерации отчетов на
основе бланков HTML).
rb_edit.exe - надстройка, позволяющая создавать и редактировать rb-репорты прямо из проводника (для генерации в HTML-бланках).
Если Вы хотите создать/отредактировать rb-репорт - запустите rb_edit.exe
7za.exe - zip-архиватор
Ну, и, напоследок...
Претензии к Open Office Writer (о как
1. Я не понимаю, ЗАЧЕМ надо в теле html-документа превращать имя рисунка (точнее, каталога, где он находится), написанное на русском в esc-последовательность (Word это делает только со знаками до пробела).
Впрочем, может это IE виноват? Как и Word, заодно?
ПОЧЕМУ IE не отображает картинку, русские буквы которого замененены на esc-последовательность?
Обратите внимание, что готовый отчет по бланку отлично отображается как в Mozilla FireFox, так и в IE (так работает генератор).
Но это все работает только до первого изменения oo Writer-ом
После чего в IE отображаются пустые окна от рисунков.
2. Для Word-а html-формат - это попытка Microsoft как можно лучше отобразить doc-документ (не смотрите на расширение) прямо на странице в Интернет.
Да, это не чистый HTML, да код излишний... и все же считаю, что попытка удалась.
Doc-документ, сохраненный в html, практически не отличается от оригинала (если не использовать уникальные способности Word!)
Страница описания работы с бланком HTML/HTM:
http://www.maple4.ru/readme_html.htm
Страница описания работы с rb (создание/редактирование
rb-репорта в rb_edit.exe):
http://www.maple4.ru/readme_rb.htm
Загрузка архива (генератор, rb, rb_edit, конвертер, бланки шаблонов - в том числе шаблоны html, созданные в Word и OO Writer, DLL и файлы помощи):
http://www.maple4.ru/a_downloads_for_maple4_ru/maple4_report_generator.zip
Лента материалов
Правила размещения комментариев
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.


Сейчас обсуждают