Omejeno pretočno razporeditev
HotPDF lahko vsako dokončano stran pripravi v shrambi, podprti z datoteko, uveljavi omejitve prelomov odstavkov, izpostavi omejene diagnostike razporeditve, označi semantične odstavke in artefakte paginacije ter razreši osnovno smer odstavka, preden izpiše besedilo z mešano smerjo
Takojšnje izpiranje strani
Nastavite ImmediateFlushLayout pred BeginDoc za poročila, katerih število strani vnaprej ni znano
Ko se stran zapre, se njen končni stisnjen ali nestisnjen tok vsebine iz pomnilnika premakne v lastni tok začasne datoteke, medtem ko PDF objekt ostane na voljo za običajno zaključevanje navzkrižnih referenc in virov
ImmediateFlushedPageCount in ImmediateFlushedBytes poročata o količini pripravljene vsebine, začasne datoteke pa se izbrišejo, ko se njihovi lastniški tokovi sprostijo
Paginacija odstavkov
ParagraphIndex := PDF.CreateParagraph(0, jtLeft, 36, 36, 36, 36);
PDF.ConfigureParagraphPagination(ParagraphIndex, True, 2, 2);
PDF.ConfigureParagraphDirection(ParagraphIndex, pdAuto);
PDF.BeginParagraph(ParagraphIndex);
PDF.CurrentParagraph.ShowUnicodeText(BodyText);
PDF.EndParagraph;
KeepWithNextpremakne odstavek, ko bi sicer porabil zadnjo vrstico, ki mora ostati za naslednjo vsebinoMinOrphanLinespreprečuje, da bi na dnu strani ostalo premalo uvodnih vrsticMinWidowLinespremakne prelom, ko bi na naslednji strani ostalo premalo zaključnih vrstic- Samodejno nadaljevanje ohranja širino, višino, pisavo, robove in nastavitve odstavka izvorne strani
- Ko je
ParaAutoAddPagefalse, prelivanje ustavi na trenutni strani in ustvari diagnostikoldkOverflow
Diagnostike razporeditve
THPDFLayoutDiagnostic zabeleži THPDFLayoutDiagnosticKind, indekse izvorne in povezane strani, prizadeti pravokotnik, število vrstic in angleški razlog za vsako zadržano odločitev
THPDFLayoutDiagnosticArray vrne GetLayoutDiagnostics, GetLayoutDiagnostic pa omogoča indeksiran dostop brez dodeljevanja kopije
LayoutDiagnosticLimit omejuje število zadržanih zapisov, LayoutDiagnosticDroppedCount pa poroča o odločitvah, ki so bile po tej meji zavržene
ldkAutomaticPageBreakporoča o običajnem nadaljevanjuldkKeepWithNext,ldkOrphanControlinldkWidowControlidentificirajo omejitev, ki je premaknila prelomldkOverflowidentificira vsebino, ki jo je ustavila onemogočena samodejna paginacijaldkImmediateFlushidentificira zaprto stran, premaknjeno v shrambo, podprto z datoteko
Smer odstavka
THPDFParagraphDirection ponuja pdAuto, pdLeftToRight in pdRightToLeft
DetectParagraphDirection uveljavi razrešitev po prvem močnem znaku prek skriptov RTL ravnine BMP in dopolnilne ravnine, tako da nevtralni predpone in sekundarni usmerjeni teki ne izberejo napačne osnovne smeri
Uporabite ConfigureParagraphDirection za trajno nastavitev odstavka ali lastnost THPDFPara.Direction za aktivni odstavek
Semantika odstavkov PDF/UA
Root := PDF.AddStructureElement('Document', nil);
Paragraph := PDF.BeginTaggedParagraph(Root, 'en-US', 'Accessible text');
PDF.CurrentPage.TextOut(36, 72, 0, WideString('Accessible text'));
PDF.EndTaggedParagraph;
PDF.BeginPaginationArtifact(pasHeader);
PDF.CurrentPage.TextOut(36, 20, 0, WideString('Running header'));
PDF.EndPaginationArtifact;
BeginTaggedParagraph izpiše standardno zaporedje označene vsebine /P z dodeljenim MCID, ožičenjem drevesa staršev strani in neobveznima vrednostima /Lang in /ActualText
THPDFPaginationArtifactSubtype ponuja pasHeader, pasFooter, pasWatermark in pasPageNumber, ki se izpišejo kot vsebina /Artifact z /Type /Pagination in ustreznim standardnim podtipom