Gelimiteerde streaming layout
HotPDF kan elke voltooide pagina in bestandsondersteunde opslag parkeren, paginaafbrekingsbeperkingen voor alinea's toepassen, gelimiteerde layoutdiagnose beschikbaar stellen, semantische alinea's en paginatie-artefacten markeren, en de basisrichting van een alinea bepalen voordat tekst in gemengde richting wordt uitgegeven
Onmiddellijk leegschrijven van pagina's
Zet ImmediateFlushLayout vóór BeginDoc voor rapporten waarvan het aantal pagina's vooraf niet bekend is
Wanneer een pagina sluit, verplaatst de uiteindelijke gecomprimeerde of ongecomprimeerde inhoudsstroom zich van het geheugen naar een stream in een eigen tijdelijk bestand, terwijl het PDF-object beschikbaar blijft voor normale kruisverwijzing- en resource-afsluiting
ImmediateFlushedPageCount en ImmediateFlushedBytes rapporteren de hoeveelheid geparkeerde inhoud, en tijdelijke bestanden worden verwijderd wanneer hun eigenaren-streams worden vrijgegeven
Paginering van alinea's
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;
KeepWithNextverplaatst een alinea wanneer deze de laatste regel zou verbruiken die voor de volgende inhoud moet blijven staanMinOrphanLinesvoorkomt dat te weinig openingsregels onderaan een pagina achterblijvenMinWidowLinesschuift een afbreking op wanneer er te weinig sluiterregels op de volgende pagina zouden overblijven- Automatische voortzetting behoudt de brontekstpaginabreedte, -hoogte, het lettertype, de marges en de alinea-instellingen
- Als
ParaAutoAddPagefalse is, stopt de overloop op de huidige pagina en wordt eenldkOverflow-diagnose geproduceerd
Layoutdiagnose
THPDFLayoutDiagnostic legt voor elke bewaarde beslissing de THPDFLayoutDiagnosticKind, bron- en gerelateerde pagina-indexen, het betrokken rechthoek, het aantal regels en een Engelstalige reden vast
THPDFLayoutDiagnosticArray wordt geretourneerd door GetLayoutDiagnostics, terwijl GetLayoutDiagnostic geïndexeerde toegang biedt zonder een kopie toe te wijzen
LayoutDiagnosticLimit begrenst bewaarde records en LayoutDiagnosticDroppedCount rapporteert beslissingen die na die limiet zijn verworpen
ldkAutomaticPageBreakrapporteert een gewone voortzettingldkKeepWithNext,ldkOrphanControlenldkWidowControlidentificeren de beperking die een afbreking verplaatsteldkOverflowidentificeert inhoud die is gestopt door uitgeschakelde automatische pagineringldkImmediateFlushidentificeert een gesloten pagina die naar bestandsondersteunde opslag is verplaatst
Alinearichting
THPDFParagraphDirection biedt pdAuto, pdLeftToRight en pdRightToLeft
DetectParagraphDirection past first-strong-tekenresolutie toe over BMP- en aanvullende-vlak-RTL-scripts, zodat neutrale voorvoegsels en secundaire richtingsruns niet de verkeerde basisrichting kiezen
Gebruik ConfigureParagraphDirection voor een blijvende alinea-instelling of de eigenschap THPDFPara.Direction voor de actieve alinea
PDF/UA-alineasemantiek
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 geeft een standaard /P-gemarkeerde-inhoudssequentie uit met een toegewezen MCID, koppelingen met de pagina-ouderboom en optionele /Lang- en /ActualText-waarden
THPDFPaginationArtifactSubtype biedt pasHeader, pasFooter, pasWatermark en pasPageNumber, uitgegeven als /Artifact-inhoud met /Type /Pagination en het bijbehorende standaardsubtype