• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

import html

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Всем привет!
Задача: нарисовать динамическую табличку в ричтексте.
Приняли решение рисовать при помощи html и импортировать его в RT-поле.
Все бы хорошо, но нарисовалась проблема: при пересохранении документа - таблица постоянно смещается вправо. Изменяется внешний отступ.
И никак не можем вычислить почему так происходит :(

Вот код html
HTML:
<head>
<meta charset="Windows-1251">
<style>*{font-family:arial,sans-serif;font-size:10pt}table{margin: 0; width:19cm;border-collapse:collapse;}td,th{border:1px solid black;padding:8px;word-wrap:break-word;}th{text-align:center;}</style>
</head>
<BODY><span>&nbsp;&nbsp;&nbsp;&nbsp;#id1. Text1:<br><br>
<TABLE>
<TR>
<TH ALIGN="CENTER" Width="30px" rowspan="2">Firld1</TH>
<TH ALIGN="CENTER" Width="18px" rowspan="2">Firld2</TH>
<TH ALIGN="CENTER" Width="100px" rowspan="2" >Firld3</TH>
<TH ALIGN="CENTER" Width="170px" rowspan="2">Firld4</TH>
<TH ALIGN="CENTER" Width="90px" rowspan="2">Firld5</TH>
<TH ALIGN="CENTER"colspan="2">Firld6</TH>
<TH ALIGN="CENTER" rowspan="2">Firld7</TH>
</TR>
<TR><TH ALIGN="CENTER" Width="30px"></TH><TH ALIGN="CENTER" Width="30px"></TH></TR>#tbody1</TABLE>
</span>>
</BODY>
[automerge]1523611756[/automerge]
Добавлю вводных - выяснили, что смещение происходит, если RT-поле находится в таблице.
За пределами таблицы - проблем нет
 
Последнее редактирование:

garrick

Lotus Team
26.10.2009
1 351
151
BIT
187
Какая взаимосвязь между ограничением в 256 строк таблицы и смещение самой таблицы?
Я не про смещение, я в общем про таблицу. При её построении следует "считать" кол-во строк и во время начинать новую таблицу, иначе всё разезжается ещё как.
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Я не про смещение, я в общем про таблицу. При её построении следует "считать" кол-во строк и во время начинать новую таблицу, иначе всё разезжается ещё как.
Я даже не знаю что сказать.....
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
сложно отслеживать когда ответ без цитирования...
почему бы не делать через mime?

Ну тут много ограничений.
Основное - это действующая система и "это" поле используется в других процессах, где mime не нужен. Заводить новое поле не желательно.
Второе - конвертор Lotus-формы в PDF. Не уверен в правильном рендеринге lotus-документа с mime в RT-поле. Скорее всего ничего не получится.
Оно собственно особо-то и не мешает это смещение. Разве что эстетический аспект...
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
слишком много разметки - я бы часть вынес в виде стиля
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
импортировать через UI это как-то не правильно, лучше сразу через DXML
 

duchan

Green Team
20.09.2006
127
11
BIT
109
тут несколько вопросов, соответственно и решений будет несколько:
1. html-файл произвольный или всегда генерируемый Вами по определенным правилам?
2. насколько сложное оформление?

Я поступал несколько проще, сохранял "сырые" данные в поле в виде списка вида "fld1|fld2|fld3":"fld1|fld2|fld3", а затем в вычисляемом тексте обернутым в "Path-Thru HTML" генерил HTML. Там конечно есть свои тонкости и HTML c CSS порезаны, но если оформление не слишком сложное, то можно делать (можно и JS, c ограничениями, добавить).
 

garrick

Lotus Team
26.10.2009
1 351
151
BIT
187
тут несколько вопросов, соответственно и решений будет несколько:
Я поступал несколько проще, сохранял "сырые" данные в поле в виде списка вида "fld1|fld2|fld3":"fld1|fld2|fld3", а затем в вычисляемом тексте обернутым в "Path-Thru HTML" генерил HTML. Там конечно есть свои тонкости и HTML c CSS порезаны, но если оформление не слишком сложное, то можно делать (можно и JS, c ограничениями, добавить).
Во-во! Для каких-нибудь табличек, которые не решаются с помощью embedded view самое то.
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Да, создание табличек полностью контролируется.
Почему импорт:
1. Не надо переоткрывать документ. Результат виден сразу.
2. Не надо сохранять документ (вдруг пользователь передумает?)
3. Для меня, как разработчика, - более гибкая работа с таблицами. Для пользователя - получить то оформление, которое нужно.
4. Не надо переделывать PDF-конвертор для работы еще и с HTML ну и еще куча других зависимостей.

Ну и кардинально перепиливать систему - никто не даст. Да и собственно вопрос не в том почему так сделано, а почему так ведет себя RT-поле
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!