Begrenset strømmende layout

HotPDF kan mellomlagre hver fullførte side i filbakket lagring, anvende sidébrytingsbegrensninger for avsnitt, eksponere avgrenset layoutdiagnostikk, markere semantiske avsnitt og pagineringsartefakter, og løse avsnittets baseretning før blandetrettet tekst sendes ut

Umiddelbar utsending av sider

Sett ImmediateFlushLayout før BeginDoc for rapporter der sideantallet ikke er kjent på forhånd

Når en side lukkes, flyttes dens endelige komprimerte eller ukomprimerte innholdsstrøm fra minnet til en eid midlertidig filstrøm, mens PDF-objektet forblir tilgjengelig for normal kryssreferanse- og ressursferdigstilling

ImmediateFlushedPageCount og ImmediateFlushedBytes rapporterer mengden mellomlagret innhold, og midlertidige filer slettes når deres eierende strømmer frigjøres

Paginering av avsnitt

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;

Layoutdiagnostikk

THPDFLayoutDiagnostic registrerer THPDFLayoutDiagnosticKind, kilde- og relaterte sideindekser, berørt rektangel, linjeantall og en engelsk årsak for hver bevarte beslutning

THPDFLayoutDiagnosticArray returneres av GetLayoutDiagnostics, mens GetLayoutDiagnostic støtter indeksert tilgang uten å allokere en kopi

LayoutDiagnosticLimit avgrenser bevarte poster og LayoutDiagnosticDroppedCount rapporterer beslutninger forkastet etter den grensen

Avsnittsretning

THPDFParagraphDirection tilbyr pdAuto, pdLeftToRight og pdRightToLeft

DetectParagraphDirection anvender første-stærke-tegn-løsning på tvers av BMP- og supplerende-plans RTL-skripter, slik at nøytrale prefikser og sekundære retningsløp ikke velger feil baseretning

Bruk ConfigureParagraphDirection for en varig avsnittsinnstilling eller egenskapen THPDFPara.Direction for det aktive avsnittet

PDF/UA-avsnittssemantikk

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 sender ut en standard /P-merket innholdsssekvens med en tildelt MCID, side-foreldretre-tilkobling og valgfrie /Lang- og /ActualText-verdier

THPDFPaginationArtifactSubtype tilbyr pasHeader, pasFooter, pasWatermark og pasPageNumber, sendt ut som /Artifact-innhold med /Type /Pagination og den samsvarende standardundertypen

Relaterte API-er