Коротко о возможностях:
|
Поддерживаемые форматы бланков: XML,ODS,ODT,HTML/HTM (... узнать больше в Интернет-е)
Общие рекомендации по бланкам ODT, ODS, XML и HTML/HTM. 1. Если в процессе генерации foxpro выдает ошибку (например, неверно была написана функция в бланке) - рекомендуется после исправления ПЕРЕД запуском генератора выполнить CLOSE ALL (закрытие файлов). 2. После того, как бланк ODS или XML подготовлен, рекомендуется перед сохранением скрыть первые три служебные колонки (зачем они Вам нужны в готовом файле?). Для ODT - уменьшить ширину колонки, если эта колонка чисто служебная (кликаете мышкой по границе столбца, далее в меню столбец - ширина - и задаете ширину 0 для нужного столбца). 3. Полученные значения (в ячейках таблиц ODS, XML, ODT и в тексте ODT) из полей, функций или переменных НЕ ДОЛЖНО содержать следующих символов (таков стандарт XML): " & < > ' и эти символы должны быть соответственно заменены на: & quot ; & amp ; & lt ; & gt ; & apos ; Использование "запрещенных" символов может привести к ошибке открытия сформированного файла. Для автоматической замены можно воспользоваться специальной встроеннной функцией: symbol2xml() Почему этого не сделать прямо в программе генерации? Дело в том, что в большинстве случаев, такой замены НЕ ТРЕБУЕТСЯ. Так зачем тратить на это время? Использование symbol2xml (для HTML/HTM - не критично!) в первом синтаксисе: thisdata=symbol2xml(test_.notes) && для ods/xml return symbol2xml(test_.notes) && для odt или во втором &symbol2xml(test_.notes) Особенности конвертации файлов Open Office в другие форматы прямо из генератора отчетов: 1. Возможна конвертация ODS->XLS и ODT->DOC (о других форматах - ниже). Но, как Вы понимаете, различие форматов ведет к некоторому различию исходных и сконвертированных файлов. Например, ODS с картинками показывается в XLS-файле, но почему-то картинки из ODT в DOC отображаются не всегда. Поэтому, если Вы пользуетесь Microsoft Office и не хотите потерять что-либо при конвертировании - поставьте соответствующий сервис-пак (для чтения ODS и ODT), и Вам будет счастье :-) (заметьте, нюансы все равно остаются). ВАЖНО! Конвертация возможна ТОЛЬКО при установленном Open Office и распакованном пакете jodconverter в каталоге jodconverter (по умолчанию уже есть в дистрибутиве, в ином случае - скачайте новую версию)! Создание бланков для XLSX и DOCX ПОКА не планируется, так как: а) форматы xlsx и docx слишком сложны для логического понимания КАК ИЗ ТОГО, ЧТО ЕСТЬ ПОЛУЧИТЬ НОВЫЙ ДОКУМЕНТ, т.е. не прибегая напрямую к Excel или Word. Подозреваю, что это сделано Microsoft-ом специально :-) (файлы отлично считываются и анализируются - ЭТО ДЛЯ МЕНЯ НЕ ПРОБЛЕМА, в проге есть возможность для загрузки xlsx-файлов - при раскомментировании соответствующих строк кода) б) нет интереса со стороны пользователей :-( , причем со стороны пользователей ЗНАЮЩИХ форматы xlsx и docx (насчет картинок никто ничего не ответил). Как получить конвертированный файл? Нужно ПРОСТО указать в конечном файле ИНОЕ (от расширения бланка) расширение. Вы так же можете конвертировать файлы и в иные форматы, например: ODS->PDF, ODS->HTML, ODT->PDF, ODT->HTML и т.д. Полный список поддерживаемых расширений находится по адресу: http://www.artofsolving.com/opensource/jodconverter Самую новую версию (установлена текущая - 2.2.2) можно скачать с: http://sourceforge.net/projects/jodconverter/files/ Повторюсь - результат конвертации может Вас не устроить. НО обычно для того, что-бы проверить качество конвертирования достаточно сконвертировать файл один раз (обязательно обратите внимание на то, как отображаются картинки в конвертированном файле или вообще откажитесь от них!). Самое "правильное" расширение для сконвертированного файла, если в дальнейшем не планируется его редактирование - это PDF. Пока не наблюдалось проблем с разным отображением оригинала и конвертированной копией :-) jodconverter - классная вещь, хотя бы потому, что мне не придется лезть в xlsx и docx :-) (хотя чего там, уже почти влез...) Но так как jodconverter требует Open Office (установите Open Office - обязательно пригодится!), это может несколько напрячь некоторых пользователей (скачать, установить...) Поэтому, если кто подскажет бесплатную программу конвертирования хотя бы ODS->XLS(X), ODT->DOC(X) БЕЗ УСТАНОВКИ ДОПОЛНИТЕЛЬНЫХ приложений - буду безмерно рад. Как работать с jodconverter 1. Open Office должен быть установлен в системе. 2. Необходимо внести путь к Open Office Откройте или создайте файл soffice_folder.txt и внесите туда путь к soffice.exe Например, у меня soffice.exe находится в каталоге C:\Program Files\OpenOffice.org 3\program, поэтому внесено: C:\Program Files\OpenOffice.org 3\program\soffice.exe или, например, если soffice.exe находится в каталоге d:\OpenOffice.org 3\program d:\OpenOffice.org 3\program\soffice.exe 3. В каталоге jodconverter программы должен размещаться распакованный дистрибутив пакета. Если он там есть - ничего не меняйте - все должно работать и так. Если же его там нет (или существует БОЛЕЕ новая версия на сайте), скачайте архив со страницы: http://sourceforge.net/projects/jodconverter/files/ 4. Если же Вы все таки скачали новую версию jodconverter - распакуйте в каталог jodconverter только каталоги docs,lib,src и все файлы которые находятся рядом с этими каталогами. Т.е. в подпапке jodconverter должны находиться КАК МИНИМУМ каталоги docs,lib,src и файл document-formats.xml! 5. В подпапке lib переименуйте jodconverter-cli-N.N.N.jar в jodconverter-cli.jar , т.е. без указания версии (N.N.N - номер текущей версии). Замеченные "странности": ODS При формировании ODS с рисунком в строке, высота которой динамически меняется в зависимости от содержимого, размер рисунка по вертикали так же меняется. Т.е. если Вы размещаете рисунок в таблице - высота строки ДОЛЖНА БЫТЬ фиксированной. ODT При конвертировании в DOC рисунки не вставляются либо вставляются неправильно. Вывод - не используйте картинки вообще или используйте для конвертации формат PDF. Целая куча exe-файлов... За что отвечает каждый из них? m4rg.exe - генератор отчетов (задаете бланк - получаете отчет) rb.exe - программа формирования таблицы в html при помощи rb-репортов (используется для генерации отчетов на основе бланков HTML). Напрямую из проводника не запускается (нет смысла :-) ) rb_edit.exe - надстройка, позволяющая создавать и редактировать rb-репорты прямо из проводника (для генерации в HTML-бланках). Если Вы хотите создать/отредактировать rb-репорт - запустите rb_edit.exe 7za.exe - zip-архиватор |