Begrænset streaming-layout

HotPDF kan lagre hver færdiggjort side i filunderstøttet lagerplads, anvende sidebrudsbegrænsninger for afsnit, vise afgrænset layoutdiagnostik, markere semantiske afsnit og sidebrudseffekter og fastlægge afsnittets grundretning, før blandet tekst udsendes

Øjeblikkelig tømning af sider

Angiv ImmediateFlushLayout før BeginDoc til rapporter, hvis antal sider ikke er kendt på forhånd

Når en side lukkes, flyttes dens endelige komprimerede eller ukomprimerede indholdsstrøm fra hukommelsen til en ejet midlertidig filstrøm, mens PDF-objektet forbliver tilgængeligt for normal krydsreference- og ressourceafslutning

ImmediateFlushedPageCount og ImmediateFlushedBytes rapporterer mængden af lagret indhold, og midlertidige filer slettes, når deres ejende strømme frigives

Afsnitssidebrud

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;

Layoutdiagnostik

THPDFLayoutDiagnostic registrerer THPDFLayoutDiagnosticKind, kilde- og relaterede sideindekser, det berørte rektangel, linjeantal og en engelsk årsag for hver bevaret beslutning

THPDFLayoutDiagnosticArray returneres af GetLayoutDiagnostics, mens GetLayoutDiagnostic understøtter indekseret adgang uden at allokere en kopi

LayoutDiagnosticLimit begrænser bevarede poster, og LayoutDiagnosticDroppedCount rapporterer beslutninger, der er kasseret efter denne grænse

Afsnitsretning

THPDFParagraphDirection tilbyder pdAuto, pdLeftToRight og pdRightToLeft

DetectParagraphDirection anvender first-strong-tegnopløsning på tværs af BMP- og supplementary-plane RTL-skrifter, så neutrale præfikser og sekundære retningskørsler ikke vælger den forkerte grundretning

Brug ConfigureParagraphDirection til en vedvarende afsnitsindstilling eller egenskaben THPDFPara.Direction til det aktive afsnit

PDF/UA-afsnitssemantik

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 udsender en standard /P-markeret indholdssekvens med en tildelt MCID, side-forældertilkobling og valgfrie /Lang- og /ActualText-værdier

THPDFPaginationArtifactSubtype tilbyder pasHeader, pasFooter, pasWatermark og pasPageNumber, udsendt som /Artifact-indhold med /Type /Pagination og den tilsvarende standardundertype

Relaterede API'er