HPDFPrepareHeadlessRichTextLineBoxes

function HPDFPrepareHeadlessRichTextLineBoxes(
  const Runs: THPDFHeadlessRichTextRuns; MaximumRuns: Integer;
  CancellationToken: THPDFCancellationToken = nil): THPDFHeadlessRichTextRuns;

Retourne une séquence de runs séparée avec les struts de paragraphe réservés aux métriques qu'exigent les hauteurs de ligne riches explicites ; elle ne modifie pas les records de run rédigés par l'appelant

MaximumRuns doit aller de un à 4096 et comprend les struts insérés ; dépasser cette capacité lève EHPDFHeadlessAppearanceError avec haLimitExceeded

Un paragraphe avec hauteur explicite reçoit un strut copié depuis son premier run rédigé quand aucun strut explicite n'existe ; une première hauteur legacy devient normale, et les autres hauteurs enfants legacy restent normales plutôt que d'hériter d'un facteur de frère

Un run IsParagraphStrut existant doit être le premier run vide de son paragraphe et porter une hauteur non legacy ; un placement mal formé de run métrique lève haInvalidOptions

ParagraphBreakBefore migre vers le strut inséré pour que le texte brut conserve exactement ses frontières de paragraphe d'origine ; les paragraphes entièrement legacy préservent leur séquence de runs et leurs valeurs existantes

Les planificateurs de polices doivent inclure chaque run non vide et chaque run IsParagraphStrut de la séquence préparée, car les struts vides exigent leurs métriques de face et de style réellement fournies

Le token d'annulation optionnel est interrogé pendant la préparation et propage EHPDFOperationCancelled ; la fonction n'accède à aucun fichier, ne charge aucune police, ne publie aucun PDF et ne commet aucun callback

La préparation valide sa structure de paragraphes bornée ; la validation ordinaire Unicode, couleur, taille, programme de police et budget d'objets reste du ressort du sérialiseur riche et du builder d'apparences

Comportement des hauteurs de ligne · Record de run