Кривой Html в Rt-item в клиенте

Тема в разделе "Lotus - Программирование", создана пользователем nvyush, 14 май 2010.

  1. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Здравствуйте все!
    Возникла проблема — генерю html, вставляю в mime рт-поле, открываю в клиенте — получаю таблицу, сжатую по размеру данных. В дизайнере создаю пустую страницу, вставляю в тот же самый html-код в html-pane — всё отображается как надо. Можно это как-нибудь победить? Фрагмент html-кода:
    Код (Text):
    <STYLE TYPE="text/css">
    <!--
    div.page {width: 267mm; border:1px solid red;}
    p.header {font-size:14pt; font-weight:bold; text-align:center; }
    table.footer {width: 267mm; margin-left:1px; margin-right:1px;}
    td.label {border:0px; font-family:serif; font-size:12pt; text-align:left;}
    td.value {border-bottom:1px solid black; border-left: 0px; border-top: 0px; border-right: 0px; font-family: "Arial", sans-serif; font-size:12pt; text-align:center}
    -->
    </STYLE>
    <DIV class="page">
    <P class="header">Заявка № {DocN} от {CreatedOn}</P>
    <TABLE class="footer">
    <COL WIDTH=20%><COL WIDTH=80%>
    <TR><TD class="label">Подразделение</TD><TD class="value">{PersonDepartment}</TD></TR>
    <TR><TD class="label">  Должность</TD><TD class="value">{PersonJobTitle}</TD></TR>
    <TR><TD class="label">Сотрудник</TD><TD class="value">{Person}</TD></TR>
    </TABLE>
    </DIV>
     
  2. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    врятли.
    до r8 возможности рендеринга html находились на уровне браузеров конца прошлого века.
    т.е. простейшую разметку он отрисует, а сколько-нибудь вдумчивый css применить не сможет...
    а html-pane( судя по дефолтным шрифтам ) похоже отрисовывается ie-шным рендеререром.
    в r8 проще заюзать xpage на клиенте.

    по вашей разметке:
    проблема в том, что миллиметры и прочие дюймы не входят в спецификацию html - там только пиксели и проценты.
    миллиметры есть в спецификации css, но на нормальную их поддержку в клиенте рассчитывать не стоит.
    workaround:
    В windows по дефолту стоит разрешение экрана 96dpi - т.о. можно вычислить необходимый размер таблицы в пикселах:
    267mm соответсвуют (26.7*96/2.54 ) 1010 пикселам.
    т.е. <table width="1010"> даст нужный размер.
    плюс я бы рекомендовал не мешать div-верстку с табличной.
    Код (Text):
    <style> .header{...} td.label {...} td.value {...}</style>
    <p class="header">Заявка № {DocN} от {CreatedOn}</p>
    <table width="1010">
    <col width="20%" /><col width="80%" />
    <tr><td class="label">Подразделение</td><td class="value">{PersonDepartment}</td></tr>
    <tr><td class="label">  Должность</td><td class="value">{PersonJobTitle}</td></tr>
    <tr><td class="label">Сотрудник</td><td class="value">{Person}</td></tr>
    </table>
    рисует то, что нужно ( 7.0.3 )
    фактический масштаб экрана( пресловутые 96dpi ) наверняка можно выдернуть через winapi.
     
  3. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Спасибо, только это мне нужно для печатного бланка.
    Клиент 8.0.2, х-страницы как я понял, появились в 8.5, по крайней мере в дизайнере я их не вижу.
    Что касается смешения дивов и таблиц — веб-дизайном никогда не занимался, использую, что под руку подвернулось.
     
  4. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Возвращаясь к вопросу о дивах: забавный результат получается, если нижеприведённый html-код вставить в html-pane и в mime rt-поле:
    Код (Text):
    <STYLE TYPE="text/css">
    <!--
    .page {width: 267mm; border: 1px solid red; background-color: yellow}
    p.rightFooter {text-align: right; text-decoration: underline}
    -->
    </STYLE>
    <DIV class="page">
    <P class="rightFooter">За что я не люблю Лотус Нотус</P>
    </DIV>
    <TABLE class="page"><TR><TD>
    <P class="rightFooter">За что я не люблю Лотус Нотус</P>
    </TD></TR></TABLE>
    В пэйне всё ок. В поле див получает нужный размер, но ни фона, ни границы, таблица же наоборот, имеет заданные фон и границы, но размер усохший.
     
  5. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    дык я ж написал - не надо юзать милиметры для указания ширины таблицы. они вне закона в html.
    немного поправленный html( ширину td тоже надо указывать явно) вставьте импортом в поле и посмотрите на результат...
    Код (Text):
    <html>
    <head>
    <style type="text/css">
    p.header {font-size:14pt; font-weight:bold; text-align:center; }
    td.label {border:0px; font-family:serif; font-size:12pt; text-align:left;}
    td.value {border-bottom:1px solid black; border-left: 0px; border-top: 0px; border-right: 0px; font-family: "Arial", sans-serif; font-size:12pt; text-align:center}</head>
    </style>
    <body>
    <p class="header">Заявка № {DocN} от {CreatedOn}</p>
    <table width="1010">
    <tr><td width="202">Подразделение</td><td width="808" class="value">{PersonDepartment}</td></tr>
    <tr><td class="label">  Должность</td><td class="value">{PersonJobTitle}</td></tr>
    <tr><td class="label">Сотрудник</td><td class="value">{Person}</td></tr>
    </table>
    <body>
    </html>
     
Загрузка...

Поделиться этой страницей