Добрый день.
Прошу помочь с LazReport ом.
Есть текст собранный в Memo (TMemo). Например Договор. Собрать можно в принципе как угодно. От HTML до просто текста. Страниц на 10. Его нужно распечатать.
Причем начал копать под LazReport , Но после вечера с бубнами не получилось никоем образом вывести текст с разделением на страницы. (Не могу понять до сих пор как работает этот репорт). Причем вывод баз Данных и текста небольшого объема вполне нормально работает. До этого я дошел.
Начал копать в сторону THTMLViewer, все получилось, собрал текст, Вывожу как на превью печати, так и на принтер. Но получилась загвоздка собрать его под линухами (handle:=GetModuleHandle('comctrl32.dll'); . А Это очень желательно.
Вот и прошу помощи опять вывести сей текст под LazReport.
Либо если такое возможно, что нибудь кросплатформенное с превьювом.
multi страничный текст.
Модератор: Модераторы
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
У объекта MEMO в отчёте поставить признак РАЗРЫВАЕМЫЙ
А ещё лучше формировать текст по абзацам и азацы передавать в виде DataSet-а
Если текст достаточно статичный с небольшими включениями переменных - то проще его сразу набрать напрямую в шаблоне, а по месту подставлять нужные переменные. У меня по такой технологии всякие договора с контрагентыми и подобное формируется.
PS
Ещё на заметку. В винде лучше не использовать штатные старые шрифты, особенно Times - будут проблемы с экспортом в PDF и прочее... Либо новые шрифты из Win7 либо вообще Liberation*.
А ещё лучше формировать текст по абзацам и азацы передавать в виде DataSet-а
Если текст достаточно статичный с небольшими включениями переменных - то проще его сразу набрать напрямую в шаблоне, а по месту подставлять нужные переменные. У меня по такой технологии всякие договора с контрагентыми и подобное формируется.
PS
Ещё на заметку. В винде лучше не использовать штатные старые шрифты, особенно Times - будут проблемы с экспортом в PDF и прочее... Либо новые шрифты из Win7 либо вообще Liberation*.
-
skobanev
- новенький
- Сообщения: 33
- Зарегистрирован: 24.02.2016 22:55:01
- Откуда: Ростов-на-Дону
- Контактная информация:
Ок. спасибо за совет, сегодня попробую.
Хотя я вообще вышел из положения, и создаю ODT файл, а далее его уже в опеноффисе открываю.
Хотя репорт будет предпочтительней.
Добавлено спустя 8 часов 59 секунд:
Подскажи пож. название на англ. )))
Хотя я вообще вышел из положения, и создаю ODT файл, а далее его уже в опеноффисе открываю.
Хотя репорт будет предпочтительней.
Добавлено спустя 8 часов 59 секунд:
alexs писал(а):У объекта MEMO в отчёте поставить признак РАЗРЫВАЕМЫЙ
Подскажи пож. название на англ. )))
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Поравка
У бэнда - а не у мемо
Немного ошибся.
Технология такова:
Ложим на страницу отчёта мастер-бэнд. Выбираем у него виртуальный источник данных с 1-й записью. Ставим у него признак - РАЗОРВАННЫЙ и РАСТЯНУТОЕ
Ложим на него во всю ширину мемо. Ставим у него признаки РАСТЯНУТОЙ и ПЕРЕНОС СЛОВ
В мемо вписываем текст.
Есть одно НО. Если текст большой, то будут тормоза. Поэтому хорошая практика - разделить текст на небольшие блоки (3-4 абзаца) и для каждого блока повторять описанные выше действия. Только для второго и дале можно использовать бэнд типа ДОЧЕРНИЙ, подвязывая их друг к другу в порядке следования.
Если совсем много - делаем многостраничные отчёты. Скриптами легко делается логика формирования - скрывать не нужные по ситуации куски текста.
Кстати - потом это всё добро хорошо выгружается в электронные таблицы (LibreOffice/MSExcell) (за исключением картинок).
У бэнда - а не у мемо
Немного ошибся.
Технология такова:
Ложим на страницу отчёта мастер-бэнд. Выбираем у него виртуальный источник данных с 1-й записью. Ставим у него признак - РАЗОРВАННЫЙ и РАСТЯНУТОЕ
Ложим на него во всю ширину мемо. Ставим у него признаки РАСТЯНУТОЙ и ПЕРЕНОС СЛОВ
В мемо вписываем текст.
Есть одно НО. Если текст большой, то будут тормоза. Поэтому хорошая практика - разделить текст на небольшие блоки (3-4 абзаца) и для каждого блока повторять описанные выше действия. Только для второго и дале можно использовать бэнд типа ДОЧЕРНИЙ, подвязывая их друг к другу в порядке следования.
Если совсем много - делаем многостраничные отчёты. Скриптами легко делается логика формирования - скрывать не нужные по ситуации куски текста.
Кстати - потом это всё добро хорошо выгружается в электронные таблицы (LibreOffice/MSExcell) (за исключением картинок).
