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;

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

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

Povezani API-ji