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