Begränsad strömningslayout

HotPDF kan mellanlagra varje slutförd sida i filbaserad lagring, tillämpa styckesbegränsningar för sidbrytning, exponera bunden layoutdiagnostik, markera semantiska stycken och pagineringsartefakter och avgöra styckets basriktning innan text med blandad riktning skrivs ut

Omedelbar sidutskrivning

Sätt ImmediateFlushLayout före BeginDoc för rapporter vars sidantal inte är känt i förväg

När en sida stängs flyttas dess slutgiltiga komprimerade eller okomprimerade innehållsström från minnet till en ägd temporärfilström medan PDF-objektet förblir tillgängligt för normal slutförande av korsreferenser och resurser

ImmediateFlushedPageCount och ImmediateFlushedBytes rapporterar mängden mellanlagrat innehåll, och temporärfiler tas bort när deras ägande strömmar frigörs

Styckespaginering

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 registrerar THPDFLayoutDiagnosticKind, käll- och relaterade sidindex, berörd rektangel, radantal och en engelsk orsak för varje bevarat beslut

THPDFLayoutDiagnosticArray returneras av GetLayoutDiagnostics, medan GetLayoutDiagnostic stöder indexerad åtkomst utan att allokera en kopia

LayoutDiagnosticLimit begränsar bevarade poster och LayoutDiagnosticDroppedCount rapporterar beslut som kastats efter den gränsen

Styckeriktning

THPDFParagraphDirection tillhandahåller pdAuto, pdLeftToRight och pdRightToLeft

DetectParagraphDirection tillämpar första-starka-tecken-upplösning över BMP- och kompletterande-plans RTL-skript, så neutrala prefix och sekundära riktningsekningar inte väljer fel basriktning

Använd ConfigureParagraphDirection för en beständig styckeinställning eller egenskapen THPDFPara.Direction för det aktiva stycket

PDF/UA-styckesemantik

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 skriver ut en standard /P-markerad innehållssekvens med en tilldelad MCID, sidkoppling till föräldraträd och valfria /Lang- och /ActualText-värden

THPDFPaginationArtifactSubtype tillhandahåller pasHeader, pasFooter, pasWatermark och pasPageNumber, utgivna som /Artifact-innehåll med /Type /Pagination och den matchande standardundertypen

Relaterade API:er