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;
KeepWithNextflyttar ett stycke när det skulle förbruka den sista rad som ska bevaras för följande innehållMinOrphanLinesförhindrar att för få inledande rader lämnas kvar längst ner på en sidaMinWidowLinesförskuter en brytning när för få avslutande rader skulle återstå på nästa sida- Automatisk fortsättning bevarar källsidans bredd, höjd, typsnitt, marginaler och styckeinställningar
- När
ParaAutoAddPageär false stoppas spill på den aktuella sidan och ger enldkOverflow-diagnostik
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
ldkAutomaticPageBreakrapporterar en vanlig fortsättningldkKeepWithNext,ldkOrphanControlochldkWidowControlidentifierar den begränsning som flyttade en brytningldkOverflowidentifierar innehåll som stoppats av inaktiverad automatisk pagineringldkImmediateFlushidentifierar en stängd sida som flyttats till filbaserad lagring
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