Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.10.05;
Скачать: CL | DM;

Вниз

генирация RTF документов   Найти похожие ветки 

 
Михаил   (2014-02-22 00:00) [0]

Программистом не являюсь, работал инженером электросвязи, на данный момент работаю у небольшого Интернет провайдера (занимаюсь всем
понемногу). Самостоятельное изучение Delphi только начинаю. Прошу профи отнестись с пониманием.

Интересует автоматическая генерация RTF документов, какими средствами для этого можно воспользоваться?

У меня есть первый тестовый вариант программы который:
1) берет нужные поля из БД.
2) меняет в коде RTF шаблона участки вида $$$VARIABLE$$$ нужными данными из БД.

Пока это устраивает.
 
В скором времени пакеты документов будут очень часто меняться.

Проблемы в скором времени следующие:
1) Все RTF шаблоны хранятся на клиентах, поэтому при изменениях в тексте документов приходится менять всем клиентам шаблоны вручную.

2)Если же хранить RTF в базе, то нужно предусмотреть нормальные инструменты редактирования шаблона, а не вручную лазить в коде RTF и бесконечно переливать в БД.

3)Не мешало бы сделать нормальное привью RTF прямо в программе.

Как бы действовали вы в подобной ситуации?

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

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


 
RWolf ©   (2014-02-22 01:02) [1]

Вариант: использовать в качестве редактора офисный пакет через OLE-встраивание.


 
RWolf ©   (2014-02-22 01:10) [2]


> Может быть вообще существует что-то вроде конструктора,
> чтобы пользователь сам мог создать нужный шаблон документа
> и выбрать для динамической информации из перечня доступных
> полей бд?

В генераторах отчётов вроде FastReport всё это есть.


 
й   (2014-02-22 03:47) [3]

EK RTF многие хвалят
http://www.128byte.ru/index.html
"нормальное привью RTF прямо в программе" - то есть TRichEdit не устраивает? чем?
на всякий случай: http://www.trichview.ru


 
Dennis I. Komarov ©   (2014-02-22 10:49) [4]


> Как бы действовали вы в подобной ситуации?

Чем обусловлен выбор формата RTF?
Посмотрел бы в сторону XML + XSL.


 
Inovet ©   (2014-02-22 13:46) [5]

> [2] RWolf ©   (22.02.14 01:10)
> FastReport

+ в нём же есть импорт сформированного отчёта во множество форматов. Т.е. если по каким-то причинам нужен Ворд, то можно с учётом этого и сделать отчёт, в смысле - чтобы там всё красиво импортировалось, хотя обычно и без дополнительных телодвижений неплохо.

Только не покупать минимальную версию, без скрипта которая - там будет сильно многое невозможно сделать. И сразу закладываться на возможность проектирования шаблона отчёта не из exe, а без перекомпиляции exe - это огромный плюс ФР. Хотя можно и так и сяк и всяко.


 
Inovet ©   (2014-02-22 13:48) [6]

> [5] Inovet ©   (22.02.14 13:46)

Да, для ознакомления можно скачать полнофункциональную версию, но с некоторыми ограничениями.
http://www.fast-report.com/ru/


 
Михаил   (2014-02-22 14:30) [7]


> RWolf ©   (22.02.14 01:02) [1]
>
> Вариант: использовать в качестве редактора офисный пакет
> через OLE-встраивание.


Так бы не хотелось бы. Тем более что используется Open Office.


> "нормальное привью RTF прямо в программе" - то есть TRichEdit
> не устраивает? чем?


Таблицы не так отображает.


>
> Чем обусловлен выбор формата RTF?


Ввиду распространенность MS Office, некоторые документы нужно будет отсылать клиентам по Ел. Почте


> Inovet ©   (22.02.14 13:46) [5]


То есть я смогу без перекомпиляции клепать новые шаблоны прямо из программы?


 
Михаил   (2014-02-22 14:33) [8]

И покупать конечно не хотелось бы ничего))


 
Inovet ©   (2014-02-22 14:42) [9]

> [7] Михаил   (22.02.14 14:30)
> То есть я смогу без перекомпиляции клепать новые шаблоны прямо из программы?

Сможешь при правильном подходе.

> [8] Михаил   (22.02.14 14:33)
> И покупать конечно не хотелось бы ничего))

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


 
Inovet ©   (2014-02-22 19:25) [10]

> [0] Михаил   (22.02.14 00:00)
> 1) берет нужные поля из БД

БД какая?


 
Михаил   (2014-02-22 22:14) [11]


> Inovet ©   (22.02.14 19:25) [10]

FB


 
Inovet ©   (2014-02-22 22:21) [12]

> [11] Михаил   (22.02.14 22:14)
> FB

Ну для IBX есть обёртки в комплекте, для всяких менее распространённых баз надо самому сделать на основе шаблона-заготовки.


 
Inovet ©   (2014-02-22 22:37) [13]

> [12] Inovet ©   (22.02.14 22:21)
> для IBX

и для FIB


 
Михаил   (2014-02-24 00:09) [14]


> RWolf ©   (22.02.14 01:02) [1]
>
> Вариант: использовать в качестве редактора офисный пакет
> через OLE-встраивание.


Один вопрос. Можно ли на одной форме "подружить" свою панельку с кнопками с OleContainer?

OleContainer при запуске приложения занимает всю клиентскую область, съедая все другие контролы. Може я что не так делаю?


 
clickmaker ©   (2014-02-24 17:35) [15]

я бы заюзал RichEdit. Н-р, его более продвинутую версию из Jedi VCL (бывшей RxLib).
+ редактирование в MSO/OO, но не через оле-встраивание, а как внешним приложением, через временный файл.
Т.е. базовые функции редактирования шаблона прямо в апликухе, через RichEdit, но возможность дополнительно отформатировать/распечатать/превью через внешний ворд, например.


 
Михаил   (2014-02-24 18:09) [16]


> clickmaker ©   (24.02.14 17:35) [15]

Спасибо. Изучу предложения в скором времени.


 
Михаил   (2014-02-24 20:34) [17]


> Т.е. базовые функции редактирования шаблона прямо в апликухе


А если таблицы?


 
Михаил   (2014-02-24 22:04) [18]


> я бы заюзал RichEdit.

Ну и что в нем особенного?

Вложенные таблицы не поддерживаются. Высота&Ширина тоже не совпадают с Word.


 
Михаил   (2014-02-25 15:51) [19]

Уж было обрадовался новому варианту. Нашел MICROSOFT OFFICE WEB COMPONENTS (Можно встраивать как ActivX). Но ворда там не оказалось. А вот Excel есть, но он пока не нужен.

Подскажите есть ли ActivX аналог Word?


 
RWolf ©   (2014-02-25 16:30) [20]

Word и есть ActiveX.
 OleContainer1.CreateObjectFromFile("test.doc", false);
 OleContainer1.DoVerb(ovOpen);


 
Михаил   (2014-02-25 17:50) [21]


> var
>   Doc: Variant;
> begin
>
>   if not (OleContainer.State = osRunning) then
>     OleContainer.Run;
>
>   Doc := OleContainer.OleObject;
>   .......................
> end;


Знающие подскажите, как вставить текст от текущей позиции курсора?


 
Константин   (2014-02-26 06:12) [22]

EkRTF
http://www.code.net.ru/



Страницы: 1 вся ветка

Текущий архив: 2014.10.05;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.007 c
15-1393178439
Jeer
2014-02-23 22:00
2014.10.05
С днем Советской армии и военно-морского флота!


15-1387389158
wl
2013-12-18 21:52
2014.10.05
Перевод с японского.


8-1235415285
Кошкин
2009-02-23 21:54
2014.10.05
Модель в редакторе и в программе


15-1393360202
Юрий
2014-02-26 00:30
2014.10.05
С днем рождения ! 26 февраля 2014 среда


11-1255007559
Валера
2009-10-08 17:12
2014.10.05
Шрифт size