Размер поля с текстом в LazReport

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
krab
постоялец
Сообщения: 108
Зарегистрирован: 17.02.2010 17:23:08

Размер поля с текстом в LazReport

Сообщение krab »

Как сделать, чтобы высота поля с текстом в отчете LazReport подстраивалась автоматически, в зависимости от длины текста в ней (с переносом слов)?

Добавлено спустя 5 часов 21 минуту 46 секунд:
Нашел сам. Установить во всплывающем меню:
  • у Detail Data Band
    Stretched = true
  • у Text rectangle в том же band
    Word wrap = true
    Word break = true
    Autosize = false (работает только на увеличение ширины)
Text rectangle растянуть по высоте, чтобы выдавался за пределы band'а (который все равно покажет только то, что поместится в него).
gNEV
новенький
Сообщения: 26
Зарегистрирован: 23.07.2010 14:20:06
Откуда: Санкт-Петербург

Сообщение gNEV »

Примерно схожая проблема. В самом lazreport все элементы memo выстраиваются нормально. Форматирую текст по правому краю (хотя пытался и по левому краю, результат тот же). Смотрю превью, текст отформатирован правильно (визуально). Отправляю на печать и получаю полный разброд текста (по горизонтали). Похоже зависит от количества символов в строке. Такое впечатление, что в конце каждой строки добавляются пробелы. Получается, что спозиционировать текст в конкретном месте по правому его краю не удается. Может быть кто-то встречался с такой проблемой?
Ось Ubuntu 10.4 gtk2 lazarus 0.9.29 (code typhon)
Timid
постоялец
Сообщения: 290
Зарегистрирован: 21.11.2007 20:33:15

Сообщение Timid »

Шрифты для печати и для вывода на экран различаются.
Попробуй курьер.
gNEV
новенький
Сообщения: 26
Зарегистрирован: 23.07.2010 14:20:06
Откуда: Санкт-Петербург

Сообщение gNEV »

Курьер не помог. Та же петрушка, строки прыгают. Завтра на работе отсканирую результат и попробую выложить, чтобы проблема была более понятна. Мне эту вещь надо побеждать однозначно! Тут два варианта - или я ее побеждаю или иду топиться... :) Все труды по переносу проектов с Дельфей на Линукс становятся обреченными в один миг из-за такой казалось бы ерунды...

Добавлено спустя 1 час 21 минуту 20 секунд:
Вот, что в дизайнере:
http://picasaweb.google.ru/lh/photo/pp6BxEWoRjjP4do18wChGQ?feat=directlink
Вот превью отчета:
http://picasaweb.google.ru/lh/photo/9U81zcuuzJZertrMtjFYSQ?feat=directlink
Ну и это после печати на бумаге:
http://picasaweb.google.ru/lh/photo/Zuei1F7Io9Sui-Nhz8ULdA?feat=directlink
Шрифты не те почему-то, но я пробовал и с курьером, принцип не меняется...
krab
постоялец
Сообщения: 108
Зарегистрирован: 17.02.2010 17:23:08

Сообщение krab »

gNEV писал(а):Курьер не помог. Та же петрушка, строки прыгают.

"Унифицированная..., утверждена...постановлением....от 5" - все это можно сделать одним большим текстовым полем (многострочным) с align вправо вместо нескольких однострочных. И напиши свойства полей(text rectangle) и band'ов (те, что в контекстном меню с флажками у band/rectangle).
gNEV
новенький
Сообщения: 26
Зарегистрирован: 23.07.2010 14:20:06
Откуда: Санкт-Петербург

Сообщение gNEV »

Делал конечно и одним полем с форматированием по правому краю, тоже самое... Поэтому и начал построчно делать.
Свойства которые в popup - чеки на Растянутое и Перенос слов (в текстовых). В band чеков нет нигде. Пробовал менять свойства, результата нет.
krab
постоялец
Сообщения: 108
Зарегистрирован: 17.02.2010 17:23:08

Сообщение krab »

gNEV писал(а):на Линукс

Если при печати получаешь другой шрифт, не такой как в Designer, дело может быть в настройках Linux. Еще неизвестно, как LazReport с ним взаимодействует. Попробуй напечатать в .ps-файл, открыть его в KPDF (программа из KDE, заодно увидишь, как он там выглядит), а оттуда уже подавать на принтер. В КДЕ обычно настройки более-менее рабочие.
gNEV
новенький
Сообщения: 26
Зарегистрирован: 23.07.2010 14:20:06
Откуда: Санкт-Петербург

Сообщение gNEV »

krab писал(а):
gNEV писал(а):на Линукс

Если при печати получаешь другой шрифт, не такой как в Designer, дело может быть в настройках Linux. Еще неизвестно, как LazReport с ним взаимодействует. Попробуй напечатать в .ps-файл, открыть его в KPDF (программа из KDE, заодно увидишь, как он там выглядит), а оттуда уже подавать на принтер. В КДЕ обычно настройки более-менее рабочие.

Вполне возможно. Просто эта ситуация настолько примитивна, в смысле, что без правильного форматирования текста смысл самого lazreporta теряется напрочь.
Вот еще один скан, более наглядное положение дел при включенной рамке. Видно, как сдвигается рамка. Впечатление такое, что просто добавляются пробелы. В редакторе рамка была строго по правому краю текста. Сверху вниз (выравнивание по правому краю, по левому, по центру):
http://picasaweb.google.ru/lh/photo/A3HVo5i2bgV5y-fDHXBT2A?feat=directlink
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

Я рекомендовал бы сначала скомпилить примеры от LazReport'а и посмотреть будет ли там все хорошо или взять отчеты от alex'а c shamangrad.net. Если и с примерами все нормально, то стоит уже разбираться со своим шаблоном. Если и примеры будут криво отображаться, то стоит уже смотреть параметры ghostscript
Последний раз редактировалось Padre_Mortius 25.07.2010 00:39:10, всего редактировалось 1 раз.
krab
постоялец
Сообщения: 108
Зарегистрирован: 17.02.2010 17:23:08

Сообщение krab »

Как вариант можешь еще попробовать печатать результат работы TfrHtmlExport отчета.
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Проблема обычно с только с GTK(1/2) приложениями - там идёт печать через пост-скрипт. Вот тут косяки обычно со шрифтами и вылазят. В КДЕ всё ок - там испольузется для печати вызовы API от KDE.
В любом случае - смотри в сторону соответсвия шрифтов в отчёте и в ghostscript.
PS
Народ - давайте библиотеку форм под LazReport равивать!
gNEV
новенький
Сообщения: 26
Зарегистрирован: 23.07.2010 14:20:06
Откуда: Санкт-Петербург

Сообщение gNEV »

alexs - вот решу проблему с форматированием и с удовольствием добавлю кадровые формы (приказы типовые и пр.). В Виндах у меня все уже давно работает, вот теперь начал переводить на Линукс.
По своей теме. Получатся, что надо использовать шрифты Type 1, я правильно понял? Добавив их соответственно в директорию шрифтов gs.
P.S.
Забыл сказать, что при выборе шрифтов из дизайнера фактически ничего не происходит визуально. При выборе из popup menu изменения происходят и шрифты там более знакомые появляются в отличии от дизайнера. Сильно не пинайте, я в печати и шрифтах практический нуль. Для меня всегда печать состояла из просмотрел - напечатал, ну предварительно создал форму конечно.

Добавлено спустя 1 час 37 минут 44 секунды:
Качнул пару форм с Шаманграда - вроде печатает вполне прилично, ну не на 5, но твердая 4 есть. Обратил внимание на шрифт используемый в формах Liberation Sans. Наверное с ним более-менее жить можно. Хотя, например если делать "шапку" документа из 4-х строк, как у меня на сканах, все равно слово "УТВЕРЖДЕНА" (в заглавных буквах) съезжает вправо. Зато остальные три строчки практически ровно. Поскольку количество строк в данном вопросе не принципиально, то буду делать как у alexs-а из трех строчек. При таком построении текста (и в его написании) печатается ровно по правому краю.
PS
Огромное спасибо alexs за форму Т-2! :) Я ее за долгие годы так и не сдюжил нарисовать...
AkANz
новенький
Сообщения: 26
Зарегистрирован: 16.03.2010 12:59:02
Откуда: Алтайский край

Сообщение AkANz »

Пытаюсь создать отчет.
Помещаю band Мастер-данные (у него выставлено свойство Растягиваемый)
на band Мастер-данные помещаю поля из набора данных (следуют друг под другом)
[zqDnevnikHospitalIn."date_osmotr"]
[zqDnevnikHospitalIn."dnevnik_text"] тип поля Text (выставлено свойство Растягиваемый)
Если в таком виде оставить, то band автоматически расширяется по высоте и поле [zqDnevnikHospitalIn."dnevnik_text"] отображается полностью,
но мне необходимо ниже поместить еще одно поле [zqDnevnikHospitalIn."name_spr_doctor"], т.е так:
[zqDnevnikHospitalIn."date_osmotr"] высота фиксир.
[zqDnevnikHospitalIn."dnevnik_text"] высота переменная
[zqDnevnikHospitalIn."name_spr_doctor"] высота фиксир.
В таком случае поле [zqDnevnikHospitalIn."dnevnik_text"] перестает растягиваться и отображает только одну строчку.

В букваре к FastReport 2.3 что то подобное оговаривается в п.4.6, но мне не понятна фраза: "... Аналогичные отчеты можно построить используя регионы (regions)...". В lazreport я что-то регионов не нашел.

Подскажите, пожалуйста, как мне побороть это.
Ответить