PDFium Delphi Component Docs

FPdfLayout enhed

Bygger målbare flow-layout-planer med sideindramning, kolonner, tabeller på tværs af sider, links, genanvendelige noder, markup-input og tagged-PDF-semantik

Exceptions and enumerations

TypeValues or purpose
EPdfLayoutErrorException, der udløses ved ugyldigt layout-input, overskredne grænser og inkonsistent semantisk struktur
TPdfLayoutAlignmentplaLeft, plaCenter, plaRight
TPdfLayoutCommandKindplcText, plcRule, plcImage, plcPageXObject, plcCachedNode, plcLink, plcRectangle
TPdfLayoutItemKindpliText, pliSpacer, pliRule, pliImage, pliPageXObject, pliPageBreak, pliCachedNode, pliLink, pliSemanticNode, pliTable
TPdfLayoutSemanticRoleplsrArtifact, plsrParagraph, plsrHeading1, plsrHeading2, plsrHeading3, plsrHeading4, plsrHeading5, plsrHeading6, plsrList, plsrListItem, plsrListLabel, plsrListBody, plsrTable, plsrTableRow, plsrTableHeader, plsrTableData, plsrFigure, plsrCaption, plsrLink, plsrSection, plsrDivision
TPdfLayoutTableScopepltsNone, pltsRow, pltsColumn, pltsBoth
TPdfLayoutListNumberingplnNone, plnDisc, plnCircle, plnSquare, plnDecimal, plnUpperRoman, plnLowerRoman, plnUpperAlpha, plnLowerAlpha
TPdfLayoutGridTrackKindplgtkFixed, plgtkFraction, plgtkAuto
TPdfMarkupFormatpmfMarkdown, pmfHtml

Layout records

TypePublic members
TPdfLayoutSemanticsRole, ParentID, ElementID, AlternateText, ActualText, Language, HeaderIDs, TableScope, ColumnSpan, RowSpan, ListNumbering, Artifact, Paragraph, Figure
TPdfLayoutTextStyleFontName, FontSize, Color, Alpha, LineHeight, Alignment, KeepTogether, BreakLongWords, SpaceBefore, SpaceAfter, Default
TPdfLayoutConstraintsKeepTogether, KeepWithNext, PageBreakBefore, PageBreakAfter, OrphanLines, WidowLines, Default
TPdfLayoutPageSettingsWidth, Height, MarginLeft, MarginTop, MarginRight, MarginBottom, HeaderHeight, FooterHeight, A4, Letter
TPdfLayoutRectLeft, Top, Width, Height
TPdfLayoutGridTrackKind, Value, Minimum, Maximum, MeasuredContent
TPdfLayoutGridTracksDynamisk array af TPdfLayoutGridTrack
TPdfLayoutGridSizesDynamisk array af opløste track-størrelser
TPdfLayoutTableOptionsCellPadding, BorderWidth, BorderColor, BorderAlpha, RepeatHeaderRows, Default
TPdfMarkupOptionsBaseStyle, HeadingScale, MaxInputCharacters, MaxNodes, Default
TPdfLayoutSemanticElementSemantics, ParentElementIndex
TPdfLayoutSemanticElementsDynamisk array af TPdfLayoutSemanticElement
TPdfLayoutCommandKind, PageNumber, Bounds, Text, FontName, FontSize, Color, Alpha, Alignment, Thickness, FileName, Uri, Source, SourcePageIndex, SemanticElementIndex, MarkedContentID, AnnotationIndex
TPdfLayoutCommandsDynamisk array af TPdfLayoutCommand
TPdfLayoutPlanPageSettings, PageCount, Commands, SemanticElements, TextLineCount, RuleCount, RectangleCount, ImageCount, PageXObjectCount, CachedNodeCount, LinkCount, TaggedContentCount, ArtifactCount, MeasuredTextCount, TotalPageReferenceCount, ReservedPageDigits, CacheHitCount, CacheMissCount, ReusedXObjectCount, ColumnCount, ColumnGap

Layout classes

TypePublic members
TPdfLayoutMeasurerMeasureTextWidth, CacheIdentity
TPdfLayoutItemKind
TPdfLayoutTableCellText, Uri, Style, ColumnSpan, RowSpan, Header, ElementID, HeaderIDs, Scope
TPdfLayoutTableRowAddCell, Cells, Header, AllowSplit, MinimumHeight
TPdfLayoutTableCreate, Destroy, AddRow, SetCaption, Columns, Rows, Options, Caption, CaptionStyle, ElementID, ParentID
TPdfLayoutPagedPlanCreate, Destroy, ClearPageCache, MaterializePage, Reset, Summary, CommandCount, StorageByteCount, SourceCount, Completed, budgetterne MaxCommandCount, MaxStorageBytes, MaxPageCommands, MaxSourceCount og MaxCachedPages samt cache-statistikken CachedPageCount, CacheHitCount, CacheMissCount og PeakCachedPageCount
TPdfLayoutDocumentCreate, Destroy, Clear, AddText, AddSpacer, AddRule, AddImage, AddPageXObject, AddCachedNode, AddLink, AddSemanticNode, SetLastItemSemantics, SetLastItemConstraints, AddTable, AddPageBreak, LoadMarkup, InvalidateCache, BuildPlan, BuildPagedPlan, PageSettings, HeaderText, FooterText, HeaderStyle, FooterStyle, ReservedPageDigits, ColumnCount, ColumnGap, Items
TPdfLayoutCachedNodeCreate, Destroy, Invalidate, BeginEmission, EndEmission, Content, Width, Height, Built

Pagination constraints

Kald SetLastItemConstraints efter tilføjelse af ethvert synligt flow-element for at holde det samlet, holde det sammen med starten af det næste element eller tvinge et fysisk sideskift før eller efter det

OrphanLines er minimum antallet af afsnitslinjer, der bevares i bunden af en region, og WidowLines er minimum antallet, der placeres i toppen af den følgende region; begge har standardværdien ét for at bevare den eksisterende paginering

Constraint-krav gælder lige for paragraph-, link-, liste-, figure- og table-rolle-elementer, mens rent semantiske containere ikke har nogen geometri og derfor afviser paginerings-constraints

Et pliTable-element accepterer kun PageBreakBefore og PageBreakAfter; rækkesplitning og fastholdelse af tabelstart styres af tabelmodellen

Planlæggeren cacher ombrudte linjer under et build, så keep-with-next-forudsigelse og endelig kommandoudsendelse ikke måler den samme tekst to gange

Paged command plans

Opret TPdfLayoutPagedPlan over en dedikeret seekable og resize-bar TStream og kald derefter BuildPagedPlan eller giv den til TPdf.GeneratePagedLayout

Planlæggeren serialiserer kommandoer med det samme, frigiver hvert fuldførte wrapped-text-resultat og efterlader Plan.Commands tom, mens sideindstillinger, semantiske elementer, tællere og stabile sidetotaler bevares i summaryet

Body-kommandoer og senere header- eller footer-kommandoer indekseres som kædede sargesegmenter, så MaterializePage genskaber den komplette side uden at scanne kommandoer for andre sider

MaxCachedPages afgrænser kun de sidearrays, som planen beholder; kaldere, der gemmer returnerede arrays, forlænger deres levetid, og PDFium beholder native autoriserede sider, indtil destinationsdokumentet gemmes eller lukkes

Lagerformatet er privat sessionstilstand frem for et portabelt filformat, streamen må ikke deles eller ændres eksternt, og kildeobjekter, som page XObjects eller cachede noder refererer til, skal overleve den paginerede plan

Brug TPdfRandomAccessStore, når kommandoer skal forblive i hukommelsen op til en valgt tærskel og derefter overløbe til delete-on-close midlertidigt lager

Cross-page tables

Opret TPdfLayoutTable med faste, fraktionelle eller indholdsstyrede grid-tracks, tilføj rækker og celler og kald derefter AddTable; dokumentet gemmer et ejet snapshot, så senere kalder-mutationer ikke kan invalidere et eksisterende plan-cache

Headerrækker skal være sammenhængende i starten af tabellen og gentages efter et side- eller kolonneskift, når RepeatHeaderRows er true; headerrække-spans kan ikke strække sig ind i kropsrækker

En kropsrække kan kun splittes, når AllowSplit er true, og den ikke hører til en række-spændende gruppe; alle celler i en split-chunk deler samme linjebånd, padding- og kantgeometri

Captions følger den gentagne header-blok og den minimale start af den første kropsgruppe, mens transitive række-spændende grupper flyttes som én atomar enhed

Planlæggeren udsender ét Table-element, valgfri Caption, TR-børn og TH- eller TD-celler uanset sidetal; gentagne header-kommandoer genbruger de oprindelige semantiske indekser, og TD-celler får overlappende header-ID'er automatisk, medmindre der leveres eksplicitte gyldige ID'er

Tabelkanter er artifact plcRectangle-kommandoer, der renderes gennem native PDFium-stiobjekter, mens caption- og celletekst forbliver tagged indhold

Top-level routines

RoutineDescription
ResolveLayoutTextUdvider sidenummer-pladsholdere med den reserverede cifferbredde
PdfLayoutSemanticRoleNameReturnerer det tagged-PDF-strukturnavn, der svarer til en semantisk rolle
BuildTaggedLayoutPdfAnvender en fuldført layoutplan og tagged struktur på kilde-PDF-bytes
ResolvePdfLayoutGridTracksOpløser faste, fraktionelle og indholdsstyrede grid-tracks inden for den tilgængelige bredde

See Also