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;
KeepWithNextflytter et afsnit, når det ville forbruge den sidste linje, der bør forblive til det følgende indholdMinOrphanLinesforhindrer, at der efterlades for få indledende linjer i bunden af en sideMinWidowLinesrykker et brud frem, når for få afsluttende linjer ville forblive på næste side- Automatisk fortsættelse bevarer kildesidens bredde, højde, skrifttype, margener og afsnitsindstillinger
- Når
ParaAutoAddPageer falsk, stopper overløb på den aktuelle side og giver enldkOverflow-diagnostik
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
ldkAutomaticPageBreakrapporterer en almindelig fortsættelseldkKeepWithNext,ldkOrphanContrologldkWidowControlidentificerer den begrænsning, der flyttede et brudldkOverflowidentificerer indhold, der er stoppet af deaktiveret automatisk sideopdelingldkImmediateFlushidentificerer en lukket side, der er flyttet til filunderstøttet lagerplads
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