| Type | Valori sau scop |
|---|---|
EPdfLayoutError | Excepție ridicată pentru intrare de aranjament invalidă, limite depășite și structură semantică inconsecventă |
TPdfLayoutAlignment | plaLeft, plaCenter, plaRight |
TPdfLayoutCommandKind | plcText, plcRule, plcImage, plcPageXObject, plcCachedNode, plcLink, plcRectangle |
TPdfLayoutItemKind | pliText, pliSpacer, pliRule, pliImage, pliPageXObject, pliPageBreak, pliCachedNode, pliLink, pliSemanticNode, pliTable |
TPdfLayoutSemanticRole | plsrArtifact, plsrParagraph, plsrHeading1, plsrHeading2, plsrHeading3, plsrHeading4, plsrHeading5, plsrHeading6, plsrList, plsrListItem, plsrListLabel, plsrListBody, plsrTable, plsrTableRow, plsrTableHeader, plsrTableData, plsrFigure, plsrCaption, plsrLink, plsrSection, plsrDivision |
TPdfLayoutTableScope | pltsNone, pltsRow, pltsColumn, pltsBoth |
TPdfLayoutListNumbering | plnNone, plnDisc, plnCircle, plnSquare, plnDecimal, plnUpperRoman, plnLowerRoman, plnUpperAlpha, plnLowerAlpha |
TPdfLayoutGridTrackKind | plgtkFixed, plgtkFraction, plgtkAuto |
TPdfMarkupFormat | pmfMarkdown, pmfHtml |
| Type | Membri publici |
|---|---|
TPdfLayoutSemantics | Role, ParentID, ElementID, AlternateText, ActualText, Language, HeaderIDs, TableScope, ColumnSpan, RowSpan, ListNumbering, Artifact, Paragraph, Figure |
TPdfLayoutTextStyle | FontName, FontSize, Color, Alpha, LineHeight, Alignment, KeepTogether, BreakLongWords, SpaceBefore, SpaceAfter, Default |
TPdfLayoutConstraints | KeepTogether, KeepWithNext, PageBreakBefore, PageBreakAfter, OrphanLines, WidowLines, Default |
TPdfLayoutPageSettings | Width, Height, MarginLeft, MarginTop, MarginRight, MarginBottom, HeaderHeight, FooterHeight, A4, Letter |
TPdfLayoutRect | Left, Top, Width, Height |
TPdfLayoutGridTrack | Kind, Value, Minimum, Maximum, MeasuredContent |
TPdfLayoutGridTracks | Vector dinamic de TPdfLayoutGridTrack |
TPdfLayoutGridSizes | Vector dinamic de dimensiuni de piste rezolvate |
TPdfLayoutTableOptions | CellPadding, BorderWidth, BorderColor, BorderAlpha, RepeatHeaderRows, Default |
TPdfMarkupOptions | BaseStyle, HeadingScale, MaxInputCharacters, MaxNodes, Default |
TPdfLayoutSemanticElement | Semantics, ParentElementIndex |
TPdfLayoutSemanticElements | Vector dinamic de TPdfLayoutSemanticElement |
TPdfLayoutCommand | Kind, PageNumber, Bounds, Text, FontName, FontSize, Color, Alpha, Alignment, Thickness, FileName, Uri, Source, SourcePageIndex, SemanticElementIndex, MarkedContentID, AnnotationIndex |
TPdfLayoutCommands | Vector dinamic de TPdfLayoutCommand |
TPdfLayoutPlan | PageSettings, PageCount, Commands, SemanticElements, TextLineCount, RuleCount, RectangleCount, ImageCount, PageXObjectCount, CachedNodeCount, LinkCount, TaggedContentCount, ArtifactCount, MeasuredTextCount, TotalPageReferenceCount, ReservedPageDigits, CacheHitCount, CacheMissCount, ReusedXObjectCount, ColumnCount, ColumnGap |
| Type | Membri publici |
|---|---|
TPdfLayoutMeasurer | MeasureTextWidth, CacheIdentity |
TPdfLayoutItem | Kind |
TPdfLayoutTableCell | Text, Uri, Style, ColumnSpan, RowSpan, Header, ElementID, HeaderIDs, Scope |
TPdfLayoutTableRow | AddCell, Cells, Header, AllowSplit, MinimumHeight |
TPdfLayoutTable | Create, Destroy, AddRow, SetCaption, Columns, Rows, Options, Caption, CaptionStyle, ElementID, ParentID |
TPdfLayoutPagedPlan | Create, Destroy, ClearPageCache, MaterializePage, Reset, Summary, CommandCount, StorageByteCount, SourceCount, Completed, bugetele MaxCommandCount, MaxStorageBytes, MaxPageCommands, MaxSourceCount și MaxCachedPages, precum și statisticile de cache CachedPageCount, CacheHitCount, CacheMissCount și PeakCachedPageCount |
TPdfLayoutDocument | Create, 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 |
TPdfLayoutCachedNode | Create, Destroy, Invalidate, BeginEmission, EndEmission, Content, Width, Height, Built |
Apelați SetLastItemConstraints după adăugarea oricărui element vizibil în flux, pentru a-l menține împreună, a-l lega de începutul elementului următor sau a forța o rupere fizică de pagină înainte sau după el
OrphanLines este numărul minim de linii de paragraf reținute la baza unei regiuni, iar WidowLines este minimul plasat la începutul regiunii următoare; ambele au implicit valoarea unu, pentru a păstra paginarea existentă
Constrângerile se aplică în egală măsură elementelor de rol paragraf, legătură, listă, figură și tabel, în timp ce containerele exclusiv semantice nu au geometrie și, prin urmare, resping constrângerile de paginare
Un element pliTable acceptă doar PageBreakBefore și PageBreakAfter; împărțirea rândurilor și reținerea începutului de tabel sunt controlate de modelul de tabel
Planificatorul pune în cache liniile învelite pe parcursul unei construcții, astfel încât predicția keep-with-next și emisiunea finală de comenzi nu măsoară același text de două ori
Creați TPdfLayoutPagedPlan peste un TStream dedicat, accesibil prin seek și redimensionabil, apoi apelați BuildPagedPlan sau transmiteți-l către TPdf.GeneratePagedLayout
Planificatorul serializează comenzile imediat, eliberează fiecare rezultat de text învelit finalizat și lasă Plan.Commands gol, reținând totuși setările de pagină, elementele semantice, contoarele și totalurile stabile de pagini în rezumat
Comenzile de corp și comenzile ulterioare de antet sau de subsol sunt indexate ca segmente de pagină legate, astfel încât MaterializePage restabilește pagina completă fără a scana comenzi pentru alte pagini
MaxCachedPages mărginește doar vectorii de pagini reținuți de plan; apelanții care păstrează vectorii returnați le extind durata de viață, iar PDFium reține paginile native autorate până când documentul destinație este salvat sau închis
Formatul de stocare este stare de sesiune privată, nu un format de fișier portabil, fluxul nu trebuie partajat sau modificat extern, iar obiectele sursă referențiate de page XObject-uri sau de noduri în cache trebuie să supraviețuiască planului paginat
Folosiți TPdfRandomAccessStore când comenzile trebuie să rămână în memorie până la un prag selectat și să se reverse ulterior într-o stocare temporară de tip delete-on-close
Creați TPdfLayoutTable cu piste de grilă fixe, fracționare sau dimensionate pe conținut, adăugați rânduri și celule, apoi apelați AddTable; documentul stochează un instantaneu deținut de el, astfel încât mutațiile ulterioare ale apelanțului nu pot invalida un cache de plan existent
Rândurile de antet trebuie să fie contigue la începutul tabelului și se repetă după o tranziție de pagină sau de coloană când RepeatHeaderRows este true; extinderile rândurilor de antet nu pot pătrunde în rândurile de corp
Un rând de corp poate fi împărțit doar când AllowSplit este true și nu aparține unui grup cu extindere pe rânduri; toate celulele dintr-o secțiune împărțită partajează aceeași bandă de linii, aceeași completare și aceeași geometrie de bordură
Titlurile rămân împreună cu blocul repetat de antet și cu minimul de început al primului grup de corp, în timp ce grupurile tranzitive cu extindere pe rânduri se mută ca o singură unitate atomică
Planificatorul emite un singur element Table, un Caption opțional, copii TR și celule TH sau TD, indiferent de numărul de pagini; comenzile repetate de antet reutilizează indicii semantici originali, iar celulele TD primesc automat ID-uri de antet suprapuse, cu excepția cazului în care sunt furnizate ID-uri valide explicite
Bordurile tabelelor sunt comenzi artifact plcRectangle randate prin obiecte native de cale PDFium, în timp ce textul titlurilor și al celulelor rămâne conținut etichetat
| Rutină | Descriere |
|---|---|
ResolveLayoutText | Expandează substituenții de număr de pagină folosind lățimea rezervată de cifre |
PdfLayoutSemanticRoleName | Returnează numele de structură tagged-PDF pentru un rol semantic |
BuildTaggedLayoutPdf | Aplică un plan de aranjament finalizat și o structură etichetată octeților PDF sursă |
ResolvePdfLayoutGridTracks | Rezolvă piste de grilă fixe, fracționare și dimensionate pe conținut, în lățimea disponibilă |