Omezené rozvržení proudu
HotPDF umí stagedovat každou dokončenou stránku do úložiště zálohovaného souborem, aplikovat omezení zalomení stránky odstavce, zpřístupnit ohraničenou diagnostiku rozvržení, označit sémantické odstavce a artefakty stránkování a vyřešit základní směr odstavce před emitováním textu smíšeného směru
Okamžitý flush stránek
Nastavte ImmediateFlushLayout před BeginDoc pro reporty, jejichž počet stránek není předem znám
Při uzavření stránky se její konečný komprimovaný nebo nekomprimovaný proud obsahu přesune z paměti do vlastního proudu dočasného souboru, zatímco objekt PDF zůstává dostupný pro normální finalizaci křížových referencí a prostředků
ImmediateFlushedPageCount a ImmediateFlushedBytes hlásí množství stagedovaného obsahu a dočasné soubory jsou smazány při uvolnění vlastnících proudů
Stránkování odstavců
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;
KeepWithNextpřesune odstavec, když by spotřeboval poslední řádek, který by měl zůstat pro následující obsahMinOrphanLineszabraňuje, aby na konci stránky zůstalo příliš málo úvodních řádkůMinWidowLinesposune zalomení, když by na další straně zůstalo příliš málo koncových řádků- Automatické pokračování zachovává šířku zdrojové stránky, výšku, písmo, okraje a nastavení odstavce
- Pokud je
ParaAutoAddPagefalse, přetečení se zastaví na aktuální stránce a vytvoří diagnostikuldkOverflow
Diagnostika rozvržení
THPDFLayoutDiagnostic zaznamená THPDFLayoutDiagnosticKind, indexy zdrojové a související stránky, ohraničený obdélník, počet řádků a anglický důvod pro každé zachované rozhodnutí
THPDFLayoutDiagnosticArray je vrácena funkcí GetLayoutDiagnostics, zatímco GetLayoutDiagnostic podporuje indexovaný přístup bez alokace kopie
LayoutDiagnosticLimit ohraničuje zachované záznamy a LayoutDiagnosticDroppedCount hlásí rozhodnutí zahozená po tomto limitu
ldkAutomaticPageBreakhlásí běžné pokračováníldkKeepWithNext,ldkOrphanControlaldkWidowControlidentifikují omezení, které přesunulo zalomeníldkOverflowidentifikuje obsah zastavený zakázaným automatickým stránkovánímldkImmediateFlushidentifikuje uzavřenou stránku přesunutou do úložiště zálohovaného souborem
Směr odstavce
THPDFParagraphDirection poskytuje pdAuto, pdLeftToRight a pdRightToLeft
DetectParagraphDirection aplikuje rozlišení prvního silného znaku napříč BMP a doplňkovými rovinami RTL skriptů, takže neutrální předpony a sekundární směrové běhy nevyberou špatný základní směr
Použijte ConfigureParagraphDirection pro trvalé nastavení odstavce nebo vlastnost THPDFPara.Direction pro aktivní odstavec
Sémantika odstavce PDF/UA
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 emituje standardní sekvenci tagovaného obsahu /P s přiděleným MCID, propojením parent-tree stránky a volitelnými hodnotami /Lang a /ActualText
THPDFPaginationArtifactSubtype poskytuje pasHeader, pasFooter, pasWatermark a pasPageNumber, emitované jako obsah /Artifact s /Type /Pagination a odpovídajícím standardním podtypem