DrawHTMLStory

Texto HTML, layout da página, paginação

Descrição

Fluxa um conteúdo HTML estilizado da esquerda para a direita por colunas de larguras iguais na página selecionada e depois por páginas recém-geradas

Sintaxe

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

Parâmetros

Left, TopA origem superior esquerda da região completa da coluna no sistema de coordenadas atual
Width, HeightDimensões positivas da região completa em todas as páginas
ColumnsContagem de colunas de 1 a 64
GutterEspaçamento não negativo entre colunas adjacentes; os gutters combinados devem ser menores que Width
MaxPagesNúmero máximo de páginas a usar nesta chamada, de 1 a 10000, incluindo a página selecionada
HTMLTextHTML inicial ou a string de continuação retornada por uma chamada anterior de story ou caixa de texto

Valores retornados

Retorna uma string vazia quando o story completo é colocado, ou uma string de continuação contendo todo o conteúdo não colocado e o estado HTML/CSS ativo dele quando MaxPages é atingido. Entrada inválida retorna

HTMLText inalterado com LastErrorCode 121; uma falha de criação de página ou dois frames consecutivos sem progresso de layout retornam o restante do story com erro 524

Observações

As colunas são preenchidas em ordem de leitura, da esquerda para a direita, antes de uma nova página ser criada

As páginas geradas copiam a largura e a altura efetivas da página inicial selecionada, enquanto a unidade de medida atual, a origem, os mapeamentos de fontes HTML, os vínculos de imagens, os estilos inline, a cascata de stylesheets, a pilha de estilos aninhados, os contêineres Flexbox e Grid, as tabelas, os links, os blocos estruturados e a numeração de notas de rodapé continuam pelo mesmo renderer

Use <footnote> ou <aside style="float:footnote"> depois do texto de corpo relacionado; notas aceitas recebem um marcador em sobrescrito, reservam uma área separada na parte de baixo do frame atual e reduzem a altura do corpo antes das quebras de linha seguintes

Se uma nota e sua referência não couberem juntas, ambas permanecem na string de continuação para a próxima coluna ou página

O método usa planos de medição e reprodução em cache para cada frame e não concatena o conteúdo das páginas em um único buffer de layout sem limites

Quando um limite finito de páginas devolve conteúdo restante, crie ou selecione a página de continuação desejada e passe a string retornada a outra chamada

Veja também

DrawHTMLTextBox, DrawTextFlowColumns, Appendix A: Supported HTML tags