DrawHTMLStory
HTML-текст, макет страницы, разбивка на страницы
Описание
Прогоняет один стилизованный HTML-сюжет слева направо через равные по ширине столбцы выбранной страницы, а затем через вновь сгенерированные страницы
Синтаксис
Delphi
Function TPDFlib.DrawHTMLStory(Left, Top, Width, Height: Double; Columns: Integer; Gutter: Double; MaxPages: Integer; Const HTMLText: WideString): WideString;DLL
const wchar_t* DLDrawHTMLStory(int InstanceID, double Left, double Top, double Width, double Height, int Columns, double Gutter, int MaxPages, const wchar_t* HTMLText);ActiveX
Function PDFlib::DrawHTMLStory(Left As Double, Top As Double, Width As Double, Height As Double, Columns As Long, Gutter As Double, MaxPages As Long, HTMLText As String) As StringПараметры
| Left, Top | Левый верхний угол полной области столбцов в текущей системе координат |
|---|---|
| Width, Height | Положительные размеры полной области на каждой странице |
| Columns | Число столбцов от 1 до 64 |
| Gutter | Неотрицательный промежуток между соседними колонками; суммарные желоба должны быть меньше Width |
| MaxPages | Максимум страниц для этого вызова от 1 до 10000, включая выбранную |
| HTMLText | Начальный HTML либо строка продолжения, возвращённая более ранним вызовом сюжета или текстового блока |
Возвращаемые значения
Возвращает пустую строку, когда вся история размещена, или строку продолжения со всем неразмещенным содержимым и его активным состоянием HTML/CSS, когда достигнут MaxPagesНекорректный ввод возвращает
HTMLText без изменений с LastErrorCode 121; ошибка создания страницы или два подряд кадра без прогресса верстки возвращают остаток истории с ошибкой 524
Примечания
Столбцы заполняются в порядке чтения слева направо, прежде чем создается новая страница
Сгенерированные страницы копируют эффективные ширину и высоту выбранной начальной страницы, при этом текущая единица измерения, начало координат, сопоставления шрифтов HTML, привязки изображений, встроенные стили, каскад таблиц стилей, стек вложенных стилей, контейнеры Flexbox и Grid, таблицы, ссылки, структурированные блоки и нумерация сносок продолжаются в том же рендерере
Используйте <footnote> или <aside style="float:footnote"> после соответствующего основного текста; принятые сноски получают надстрочный маркер, резервируют отдельную область внизу текущего фрейма и уменьшают высоту основного текста до последующих переносов строк
Если сноска и ее ссылка не помещаются вместе, обе остаются в строке продолжения для следующей колонки или страницы
Метод использует кэшированные планы измерения и воспроизведения для каждого фрейма и не склеивает содержимое страниц в один неограниченный буфер компоновки
Когда конечный лимит страниц возвращает оставшееся содержимое, создайте или выберите нужную страницу продолжения и передайте возвращенную строку следующему вызову
См. также
DrawHTMLTextBox, DrawTextFlowColumns, Appendix A: Supported HTML tags