Можно ли эти фреймы вставлять вручную в RTF-файл (Т.е. сделать шаблон для заполнения в Worde), а потом из программы обратиться к этим фреймам и заполнять их данными программно?RaFaeL писал(а): ↑04 Март 2020, 12:39 огромное спасибо за наводку по фреймам в RTF. Реализовал класс по рисованию rtf фреймами, получилось просто бомбически, клиенты в восторге. Работает на основе данных, которые изначально подготавливаются для экспорта в xlsx, только в xlsx объект это ячейка, а тут фрейм, все остальное одинаково. Может кому пригодится творчество, поддерживается экспорт текстовых данных и картинок
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- morkovin
- Ветеран
- Сообщения: 909
- Зарегистрирован: 20 Июль 2005, 14:53
- Откуда: Volgograd, Russia
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
- Контактная информация:
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
WBR, morkovin
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1376
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
Для такого режима намного больше подходит режим с переменными в полях, смотрите выше
- morkovin
- Ветеран
- Сообщения: 909
- Зарегистрирован: 20 Июль 2005, 14:53
- Откуда: Volgograd, Russia
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
- Контактная информация:
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
При печати на бланках строгой отчетности расставлять эти поля сущее мучение, т.к. они подвергаются форматированию со стороны Worda.В результате всё съезжает. Хорошо если в допустимых пределах, но чаще в зависимости от содержимого - недопустимые пределы. А вот расставить фреймы поверх рисунка (подложки) и заполнить их - то что нужно. Ничего съезжать не будет. Но как к ним адресоваться из программы и т.д.?
WBR, morkovin
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1376
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
Так а в чем проблема целиком документ RTF программно создать?
- morkovin
- Ветеран
- Сообщения: 909
- Зарегистрирован: 20 Июль 2005, 14:53
- Откуда: Volgograd, Russia
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
- Контактная информация:
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
Т.е. "накрыть" миллиметровой сеткой скан бланка, нарисовать на нём фреймы, записать их координаты и указать их в программе?
Можно, конечно.
И всё-таки, фреймы обезличены? Или есть какой-нибудь Name-атрибут? Тогда можно было бы написать макрос и вставить его в файл-шаблон или еще что-то придумать.
WBR, morkovin
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1376
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
Ну да
Имен у фреймов нет, это просто стиль абзаца. Еще раз - вставьте во фрейм переменные и замените через Fields.Update(), как выше описано. Фрейм останется на месте, текст заменится
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
Никто не сталкивался с переносом text-RTF полей в отчете? Есть отчет в середине которого выводится кусок RTF-текста переменной длины (заполняется из blob-а) и если он не влазит на текущую страницу, то переносится на следующую целиком. Можно ли динамически сделать разрыв страницы?
-
- ✯ Ветеран ✯
- Сообщения: 4982
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
Дело-то не в RTF. Если делать стандартно, то надо считать количество строк в контроле TEXT и руками его пилить и форсировать переход на новую страницу.
We are hard at work… for you.
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
С обычным текстом все понятно, но здесь строки то разные по размеру
-
- ✯ Ветеран ✯
- Сообщения: 4982
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
prop:LineHeight для каждой строки должен быть свой? Да, это я не подумал. Тогда, в качестве бреда, посмотреть:
Недокументированно, но вдруг. Или:
Если и это нет, то тогда попробовать каждую строчку из rtf-текста перекидывать в отдельный однострочный rtf-контрол (prop:Line) и считать высоту.
Код: Выделить всё
MemoLineHeight = CustRpt$?Fil:MemoField{PROP:LineHeight, X#}
Код: Выделить всё
MemoLineHeight = (CustRpt$?Fil:MemoField{PROP:Line, X#}){PROP:LineHeight}
We are hard at work… for you.
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1376
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
Если что, высота строки текста в контроле не равна высоте строки текста в отчете! И также не равна высоте строки текста в RTF в Word. Там везде какие-то разные высоты, непонятно от чего зависящие. Т.е. берем текст неким шрифтом, меряем высоту, она будет ну допустим 11, выгружаем в rtf, там оно 12. Потом у этого же текста меняем шрифт, меряем, получаем допустим 12, выгружаем - 11! Разница за счет величины межстрочного интервала, который гуляет в широких пределах (я здесь не имею в виду полуторные интервалы и т.п., именно одинарный интервал в обычно текстовом контроле). Как правильно посчитать, так не не придумал
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
Как-то странно, вот такой контрол : TEXT,AT(16,0,180,6),USE(tech),RESIZE делится на строки через prop:Line, а вот
такой TEXT,AT(16,0,180,6),USE(tech),RESIZE,RTF(TEXT:FIELD) - нет
такой TEXT,AT(16,0,180,6),USE(tech),RESIZE,RTF(TEXT:FIELD) - нет
- Губин Игорь
- ✯ Ветеран ✯
- Сообщения: 2329
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Поблагодарили: 18 раз
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
Это я только кажусь дураком! На самом деле я полный идиот!