HPDFPrepareHeadlessRichTextLineBoxes
function HPDFPrepareHeadlessRichTextLineBoxes(
const Runs: THPDFHeadlessRichTextRuns; MaximumRuns: Integer;
CancellationToken: THPDFCancellationToken = nil): THPDFHeadlessRichTextRuns;
Liefert eine separate Run-Sequenz mit den nur für Metriken bestimmten Absatz-Struts, die explizite Rich-Zeilenhöhen benötigen; die authored Run-Records des Aufrufers werden nicht verändert
MaximumRuns muss zwischen eins und 4096 liegen und schließt eingefügte Struts ein; Überschreiten dieser Kapazität wirft EHPDFHeadlessAppearanceError mit haLimitExceeded
Ein Absatz mit expliziter Höhe erhält einen Strut, der aus seinem ersten authored Run kopiert wird, wenn kein expliziter Strut existiert; eine Legacy-Erste-Höhe wird normal, und andere Legacy-Kindhöhen bleiben normal, statt einen Geschwisterfaktor zu erben
Ein bestehender IsParagraphStrut-Run muss der erste leere Run seines Absatzes sein und eine Nicht-Legacy-Höhe tragen; fehlerhafte Metrik-Run-Platzierung wirft haInvalidOptions
ParagraphBreakBefore wandert in den eingefügten Strut, sodass Plain-Text exakt seine ursprünglichen Absatzgrenzen behält; rein-Legacy-Absätze bewahren ihre bestehende Run-Sequenz und ihre Werte
Font-Planner sollten jeden nichtleeren Run und jeden IsParagraphStrut-Run aus der vorbereiteten Sequenz einbeziehen, weil leere Struts ihre tatsächlich gelieferten Face- und Style-Metriken benötigen
Das optionale Cancellation-Token wird während der Vorbereitung abgefragt und reicht EHPDFOperationCancelled weiter; die Funktion führt keinen Dateizugriff, kein Font-Laden, keine PDF-Veröffentlichung und keinen Callback-Commit aus
Die Vorbereitung validiert ihre begrenzte Absatzstruktur; übliche Unicode-, Farb-, Größen-, Fontprogramm- und Objekt-Budget-Validierung bleibt beim Rich-Serializer und beim Appearance-Builder