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 StringParâmetros
| Left, Top | A origem superior esquerda da região completa da coluna no sistema de coordenadas atual |
|---|---|
| Width, Height | Dimensões positivas da região completa em todas as páginas |
| Columns | Contagem de colunas de 1 a 64 |
| Gutter | Espaçamento não negativo entre colunas adjacentes; os gutters combinados devem ser menores que Width |
| MaxPages | Número máximo de páginas a usar nesta chamada, de 1 a 10000, incluindo a página selecionada |
| HTMLText | HTML 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