Формирование отчетов из MS Word файлов

Обсуждение извечных проблем кларионовских (и не только) отчетов

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
NewUser
Старожил
Сообщения: 226
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 4 раза

Формирование отчетов из MS Word файлов

Сообщение NewUser »

Здравствуйте!
С наступившими и грядущими вас!
Есть ли у нас в сообществе наработки или хотя бы мысли по поводу выведения в отчетах документов MS Word?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Формирование отчетов из MS Word файлов

Сообщение Игорь Столяров »

Добрый день !

Да, конечно. Самый простой способ - сформировать шаблон отчета в MS Word (OO Writer), расставить в нем поля для заполнения, а потом из программы формировать отчет на основании этого шаблона (заменить поля на реальные данные). В результате получится полноценный документ MS Word / OO Writer. По вкусу - можно его либо сразу напечатать, либо вывести в режиме предварительного просмотра, либо сохранить как файл или конвертнуть в PDF средствами MS Word / OO Writer (в отличии от "клариновского" PDF в нем будут шрифты, что обеспечивает просмотр на любом компе). Да и пользователям проще редактировать шаблоны отчетов в MS Word / OO Writer ...
За теми кто отстал - не возвращаться. (С) Кодекс
NewUser
Старожил
Сообщения: 226
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 4 раза

Re: Формирование отчетов из MS Word файлов

Сообщение NewUser »

Спасибо, Игорь, за отклик!
Задача немного проще. Имеются файлы в формате MS Word, которые формирует пользователь. Задача кларион-программы – собрать из определенных файлов в нужной последовательности единый PDF документ. Документ редактированию не подлежит. Должна быть возможность просмотра этого документа на любой платформе, входящими в комплект поставки ОС или бесплатно скачиваемыми средствами. На сегодняшний момент мы пытаемся реализовать это с помощью фришного PDFCreator’а. От штатного PDF драйвера мы отказались практически сразу. На сегодняшний день проект уже полностью готов, за исключением 2х моментов, один из которых – загрузка информации из файлов формата MS Word в детайл кларионовского отчета. Опыт в этом направлении у нас нулевой. Просим у сообщества помощи!!!
Аватара пользователя
morkovin
Ветеран
Сообщения: 908
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Re: Формирование отчетов из MS Word файлов

Сообщение morkovin »

выведения в отчетах документов MS Word?
Если бы это были RTF-файлы, то задача вполне решаема с помощью RichReport от SolidSoftware. :wink:
WBR, morkovin
NewUser
Старожил
Сообщения: 226
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 4 раза

Re: Формирование отчетов из MS Word файлов

Сообщение NewUser »

morkovin писал(а):Если бы это были RTF-файлы, то задача вполне решаема с помощью RichReport от SolidSoftware. :wink:
Пользователь, который и будет формировать и редактировать исходные внешние файлы, требует:
1. Удобной, и что не маловажно, знакомой для него среды разработки текстовых документов, а именно MS Word из пакета Офиса.
2. В текстовом редакторе должны быть в наличии орфографические и пунктуационные проверялки для разных популярных языков (русский, украинский, белорусский, английский и т.д.)
3. Исходя из этих 2х пунктов – вердикт предопределен. Однозначно Ворд.
4. Сегодня у нас работает связка: мемо поле в tps-файле БД, в котором храниться документ в формате RTF, + файл в формате MS Word, из которого информация методом паст и копи собственно и попадает в RTF поле БД. Но! После каждой мало-мальской правки нужно уравнивать две БД!!!!! Мало того, что это не удобно, это еще периодически приводит и к нарушению целостности информации в обобщенной БД.
NewUser
Старожил
Сообщения: 226
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 4 раза

Re: Формирование отчетов из MS Word файлов

Сообщение NewUser »

morkovin писал(а):... задача вполне решаема с помощью RichReport от SolidSoftware. :wink:
Спасибо за наводку!
Скачали, установили, собрали пример и остались почти всем довольны :D :!: , кроме:
То ли не нашли, толи и в самом деле нет возможности импортировать изображения из внешних RTF – документов в отчет с помощью этой тузлы. В отчете на месте изображения – пустота, дыра :cry: . Это как-то решаемо или надо продолжать поиски других продуктов?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Формирование отчетов из MS Word файлов

Сообщение Игорь Столяров »

Какой-то сумбур ...

1. PDF формат никогда и ни для какой OC не являлся "родным". AdobeReader бесплатная программа, и Вы можете ее использовать для просмотра собранных файлов.

2. Не совсем понятен термин "собран". Если у Вас нет ограничений на использование MS Word (что в последнее время редкость) - открывайте его через OLE компоненту, загружайте в него документ, выделяйте весь текст и копируйте в ClipBoard. Очищайте файл, загружайте второй фрагмент, устанавливайте курсор в нужное место и вставляйте данные из ClipBoard. и т.д. Потом просто сохраняйте "собранный" из MS Word документ в PDF формат (требуется установка бесплатного плагина от MS). Все.

Зачем Вам загружать документ в detail отчета да и вообще сам отчет ? Может быть я что-то не понял ?
За теми кто отстал - не возвращаться. (С) Кодекс
NewUser
Старожил
Сообщения: 226
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 4 раза

Re: Формирование отчетов из MS Word файлов

Сообщение NewUser »

Здравствуйте, Игорь!

По поводу п.1- PDF формата. В виду перечисленных Вами качеств, мы и остановили в свое время выбор именно на нем, как, на практически безальтернативном в нашем случае, варианте.

Термин «собран» употребился в связи с тем, что конечным результатом работы программного комплекса является документ в формате PDF, собранный программой-конструктором в нужном вычисляемом порядке из «кирпичиков» - внешних документов, которые формирует пользователи программы.

А вот идею полного отказа от кларионовского отчета в пользу формирования документа средствами OLE мы ни разу и не рассматривали. Спасибо, Игорь!

Остается выяснить только один вопрос. Как из программы вывести в Word’овский файл текст с заданными в программе атрибутами (шрифт, цвет, центровка и т.д.)?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Формирование отчетов из MS Word файлов

Сообщение Игорь Столяров »

Гм ! Вам же нужно было только собирать файл из нескольких документов, а потом экспортировать в PDF ?

В общем-то можно и рисовать и писать. Варианта видится два:

1. Включать в MS Word запись макроса, выполнить действие и потом перевести макрос из VBA на Clarion.
Здесь будет несколько заморочек с цветом - т.к. в VBA и Clarion под цветом понимают несколько разное.
Я так обычно и делаю - что бы выполнить простые операции вставки картинки, вывода строки текста, переход на новый лист, чтение и сохранение файла и т.д.

2. Воспользоваться готовой библиотекой работы с документами MS Word на Clarion.
Их было несколько, в т.ч. и бесплатные. Первое, что приходит в голову xWordCOM Library см. на http://www.seal-soft.com

Если бы Вы для сборки файлов и конвертации их в PDF использовали не коммерческий MS Word, а бесплатный OpenOffice.org Writer - рассмотрите библиотеку EasyOpenOffice от http://www.ingasoftplus.com - поддержка всех версий Clarion от 5 до 7.1, отличный сервис, использую несколько лет и рекомендую. Все что можно придумать для работы с DOC и ODT документами в ней есть. Кстати и управление цветом в т.ч.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
morkovin
Ветеран
Сообщения: 908
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Re: Формирование отчетов из MS Word файлов

Сообщение morkovin »

в самом деле нет возможности импортировать изображения из внешних RTF
Увы!

... and what it is not:
It is NO full-blown word-processor which supports all of the myriads of features of RTF. For example, images and tables are NOT supported.
WBR, morkovin
NewUser
Старожил
Сообщения: 226
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 4 раза

Re: Формирование отчетов из MS Word файлов

Сообщение NewUser »

Игорь Столяров писал(а): ...в ней есть. Кстати и управление цветом в т.ч.
Не знаю, как в полной версии продукта, но в демо-версии как раз работа с цветом очень нас удивила. Задали текст, фонт, размер, ЦВЕТ, подчеркивание, центровку , нажали на кнопу – сформировался и открылся документ со всеми нами заданными параметрами, кроме ЦВЕТА. Как мы не старались (на разных компах), цвет текста в документе всегда выходил черный. Что это, недоработка демо-программы или глюк библы?

А ведь именно из-за двух функций (соединения документов в один документ и вывод из программы текста с заданными атрибутами) мы и стали изучать данный продукт. Да, кстати, в демо-версии так и не нашли демонстрацию функции merger нескольких документов в один. Вы, Игорь, как многолетний пользователь EasyOpenOffice, встречали выше описанные траблы и возможности?
NewUser
Старожил
Сообщения: 226
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 4 раза

Re: Формирование отчетов из MS Word файлов

Сообщение NewUser »

Да, еще пару вопросов в догонку. Можно ли с помощью EasyOpenOffice, после формирования документа, послать команду Writer’у на экспортирование в PDF-файл, а так же отследить момент завершения формирования физического PDF файла на диске? Нам это нужно для последующих манипуляций с только что созданным файлом, в частности для отправки его на сервер. Сейчас мы пользуем PDFCreator, у которого в настройках иметься возможность запустить на исполнение любую программу после формирования PDF файла. Эта кларион-программа как раз и занимается отсылкой созданного файла на сервер.
Еще вопрос по Writer’у. Как сохранить изменения в настройках экспорта в PDF-формат?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Формирование отчетов из MS Word файлов

Сообщение Игорь Столяров »

Насчет демо версии EOO сказать ничего не могу - т.к. никогда ее не видел. Текущий релиз v. 1.51 - насколько мне известно проблем нет. Более точно уточните в службе тех. поддержки EOO - можно писать на русском ... ;)

Про настройки сохранения экспорта - вопрос не понял, а сохранить документ в PDF формат можно при помощи метода
Writer.SaveAs('FileName.pdf','writer_pdf_Export') - все прекрасно работает.

Когда получит управление следующий за методом сохранения оператор - тогда запись файла и завершена. Можно по Exists() проверить наличие файла на диске и выполнить с ним нужные манипуляции. Я обычно либо запускаю просмотр ассоциированной прогаммой, либо отправляю его по e-mail.

Путь которым бы я пошел для формирования одного файла из нескольких - я описал ниже.
За теми кто отстал - не возвращаться. (С) Кодекс
NewUser
Старожил
Сообщения: 226
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 4 раза

Re: Формирование отчетов из MS Word файлов

Сообщение NewUser »

Игорь Столяров писал(а):Можно по Exists() проверить наличие файла на диске и выполнить с ним нужные манипуляции.
Мы тоже в начале так пытались сделать, но сразу же напоролись на грабли: формирование PDF файла занимало несколько секунд. За это время Exists’ом обнаруживался частично сформированный файл и в таком виде отправлялся на сервер.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Формирование отчетов из MS Word файлов

Сообщение Игорь Столяров »

Не совсем понятно, что мешает запустить отправку файла, после выполнения операции Writer.SaveAs ...

Если отправку выполняет внешнее приложение (например постоянно запущенный процесс), то можно например, открывать монопольно и формировать текстовый файл из программы с списком готовых к отправке PDF файлов. Пока текстовый файл открыт на запись - процесс не сможет получить к нему доступ и выполнить отправку (легко обрабатывается по ошибке на Open(TxtFile)). Когда приложение закончит формировать PDF файлы - оно сформирует список и закроет текстовый файл. Процесс получит к нему доступ и выполнит пересылку указанных в нем PDF файлов, при успешной отправке удалит их и очистит список в текстовом файле .... Если в момент пересылки фалов будет запущена программа формирования PDF файлов - она тоже не сможет получить доступ к текстовому файлу и либо выдаст сообщение о том, что формирование PDF файлов невозможно, т.к. идет отправка или повторит попытку генерации PDF файлов через таймаут ... и т.д.

Это если дейстовать тупо и "в лоб". Но схема вполне рабочая, хотя конечно и упрощенная.
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить