API Reference

Class

PdfTableStyle

Namespace OfficeIMO.Pdf
Assembly OfficeIMO.Pdf

Describes visual and layout options for table rendering. Attach an instance to a table block or use the presets in TableStyles.

Inheritance

  • Object
  • PdfTableStyle

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Accepted by parameters

Constructors

Methods

public PdfTableStyle Clone() #
Returns: PdfTableStyle

Creates a deep copy of this style.

Properties

public Nullable<PdfColor> BorderColor { get; set; } #

Color of the table borders and cell grid lines. Set to null to hide borders.

public Double BorderWidth { get; set; } #

Stroke width, in points, for table borders and cell grid lines.

public Nullable<PdfColor> HeaderFill { get; set; } #

Background fill color for the header row. Set to null for no fill.

public Nullable<PdfColor> FooterFill { get; set; } #

Background fill color for footer rows. Set to null for no fill.

public Nullable<PdfColor> RowStripeFill { get; set; } #

Optional alternating row fill color (applied to every other body row). Set to null to disable.

public Nullable<PdfColor> RowSeparatorColor { get; set; } #

Optional horizontal separator color drawn at the bottom of each table row. Set to null or zero width to disable.

public Double RowSeparatorWidth { get; set; } #

Stroke width, in points, for row separators.

public Nullable<PdfColor> HeaderSeparatorColor { get; set; } #

Optional horizontal separator color used below header rows. Falls back to RowSeparatorColor when null.

public Double HeaderSeparatorWidth { get; set; } #

Optional stroke width, in points, used below header rows. Falls back to RowSeparatorWidth when zero.

public Nullable<PdfColor> FooterSeparatorColor { get; set; } #

Optional horizontal separator color used above footer rows. Falls back to RowSeparatorColor when null.

public Double FooterSeparatorWidth { get; set; } #

Optional stroke width, in points, used above footer rows. Falls back to RowSeparatorWidth when zero.

public List<Nullable<PdfColor>> BodyColumnFills { get; set; } #

Optional per-column background fills for body rows. Null or missing entries use the row fill.

public Dictionary<ValueTuple<Int32, Int32>, PdfColor> CellFills { get; set; } #

Optional absolute per-cell background fills keyed by zero-based row and column.

public Dictionary<ValueTuple<Int32, Int32>, PdfCellDataBar> CellDataBars { get; set; } #

Optional proportional bars drawn inside cells, behind cell text, keyed by zero-based row and column.

public Dictionary<ValueTuple<Int32, Int32>, PdfCellIcon> CellIcons { get; set; } #

Optional small vector icons drawn inside cells before cell text, keyed by zero-based row and column.

public Dictionary<ValueTuple<Int32, Int32>, PdfCellBorder> CellBorders { get; set; } #

Optional side-specific per-cell border overrides keyed by zero-based row and column.

public Dictionary<ValueTuple<Int32, Int32>, PdfCellPadding> CellPaddings { get; set; } #

Optional per-cell padding overrides keyed by zero-based row and column.

public Dictionary<ValueTuple<Int32, Int32>, PdfColumnAlign> CellAlignments { get; set; } #

Optional per-cell horizontal alignment overrides keyed by zero-based row and column.

public Dictionary<ValueTuple<Int32, Int32>, PdfCellVerticalAlign> CellVerticalAlignments { get; set; } #

Optional per-cell vertical alignment overrides keyed by zero-based row and column.

public Nullable<PdfColor> TextColor { get; set; } #

Text color for body rows. When null the writer’s default text color is used.

public Nullable<Double> FontSize { get; set; } #

Font size for body cells, in points. When null the document default font size is used.

public Nullable<Double> LineHeight { get; set; } #

Line advance multiplier for wrapped cell text. When null the writer uses the default table line height.

public Nullable<PdfColor> HeaderTextColor { get; set; } #

Text color for header cells. When null the writer’s default text color is used.

public Nullable<Double> HeaderFontSize { get; set; } #

Font size for header cells, in points. When null the body table font size is used.

public Boolean HeaderBold { get; set; } #

When true, header cells use the bold variant of the document font family.

public Int32 HeaderRowCount { get; set; } #

Number of leading rows to render as table headers. Defaults to 1.

public Nullable<Int32> RepeatHeaderRowCount { get; set; } #

Number of leading header rows to repeat on following pages. When null, all configured header rows repeat.

public Int32 FooterRowCount { get; set; } #

Number of trailing rows to render as table footers. Defaults to 0.

public Int32 MinimumBodyRowsOnLastPage { get; set; } #

Minimum number of body rows kept with trailing footer rows on the table's final page when the group fits on one page. Set to zero to disable this pagination constraint. Defaults to two.

public Nullable<PdfColor> FooterTextColor { get; set; } #

Text color for footer cells. When null the writer’s default text color is used.

public Nullable<Double> FooterFontSize { get; set; } #

Font size for footer cells, in points. When null the body table font size is used.

public Boolean FooterBold { get; set; } #

When true, footer cells use the bold variant of the document font family.

public Double CellPaddingX { get; set; } #

Horizontal padding inside each cell, in points.

public Double CellPaddingY { get; set; } #

Vertical padding inside each cell, in points.

public Nullable<Double> CellPaddingLeft { get; set; } #

Optional left padding override inside each cell, in points. When null CellPaddingX is used.

public Nullable<Double> CellPaddingRight { get; set; } #

Optional right padding override inside each cell, in points. When null CellPaddingX is used.

public Nullable<Double> CellPaddingTop { get; set; } #

Optional top padding override inside each cell, in points. When null CellPaddingY is used.

public Nullable<Double> CellPaddingBottom { get; set; } #

Optional bottom padding override inside each cell, in points. When null CellPaddingY is used.

public Double CellSpacing { get; set; } #

Optional spacing between adjacent table cells, in points.

public Double MinRowHeight { get; set; } #

Optional minimum row height in points. Set to 0 to size rows from wrapped content.

public List<Nullable<Double>> RowMinHeights { get; set; } #

Optional per-row minimum heights in points. Null entries fall back to MinRowHeight.

public List<Nullable<Double>> FixedRowHeights { get; set; } #

Optional per-row fixed heights in points. Null entries use content-driven row sizing and minimum row heights.

public Double SpacingBefore { get; set; } #

Vertical space before the table, in points.

public Double PageContinuationSpacingBefore { get; set; } #

Vertical space to reserve before table content when the same table continues on a new page.

public String Caption { get; set; } #

Optional text rendered above the table grid as part of the table flow.

public String AlternativeText { get; set; } #

Optional alternate text attached to the tagged PDF table structure. This is not rendered visibly.

public PdfAlign CaptionAlign { get; set; } #

Caption alignment inside the rendered table width.

public Nullable<PdfColor> CaptionColor { get; set; } #

Caption text color. When null the writer's default text color is used.

public Nullable<Double> CaptionFontSize { get; set; } #

Caption font size in points. When null the document default font size is used.

public Double CaptionSpacingAfter { get; set; } #

Vertical space between the caption and table grid, in points.

public Double SpacingAfter { get; set; } #

Vertical space after the table, in points.

public Double RowBaselineOffset { get; set; } #

Baseline adjustment in points to fine-tune text vertical placement.

public Nullable<Double> MaxWidth { get; set; } #

Optional maximum rendered table width, in points. When null the table uses the available frame width.

public Nullable<Double> PreferredWidth { get; set; } #

Optional preferred rendered table width, in points. Auto-fit tables may expand beyond this width to satisfy measured content, up to MaxWidth or the available frame width.

public Boolean PreserveWidth { get; set; } #

When true, the resolved table frame width is preserved even if measured columns would otherwise shrink to their content.

public Boolean ShrinkTextToFit { get; set; } #

When true, table rows can reduce their font size to keep cell text within the resolved cell width.

public Nullable<Double> MinimumShrinkFontSize { get; set; } #

Smallest font size, in points, used by ShrinkTextToFit. When null the writer uses 6 points.

public Double LeftIndent { get; set; } #

Optional left indentation before table placement, in points.

public List<PdfColumnAlign> Alignments { get; set; } #

Optional per-column alignment; defaults to Left.

public List<PdfCellVerticalAlign> VerticalAlignments { get; set; } #

Optional per-column vertical alignment; defaults to Top.

public List<Nullable<Double>> ColumnWidthPoints { get; set; } #

Optional fixed column widths in points. Null or missing entries are sized by relative weights.

public List<Nullable<Double>> ColumnMinWidthPoints { get; set; } #

Optional minimum column widths in points. Null or missing entries have no explicit minimum.

public List<Nullable<Double>> ColumnMaxWidthPoints { get; set; } #

Optional maximum column widths in points. Null or missing entries have no explicit maximum.

public List<Double> ColumnWidthWeights { get; set; } #

Optional relative column width weights. Missing columns default to 1.0.

public Boolean AutoFitColumns { get; set; } #

When true, flexible column widths are weighted from measured table content using OfficeIMO.Drawing.

public Boolean RightAlignNumeric { get; set; } #

When true, cell values that look numeric are right-aligned automatically.

public Boolean KeepTogether { get; set; } #

When true, the table moves as a unit instead of splitting across pages when it fits in the page frame.

public Boolean KeepWithNext { get; set; } #

When true, the table moves with the first visible part of the following block when they fit together.

public Boolean AllowRowBreakAcrossPages { get; set; } #

When true, a single row that is taller than the page frame may split across pages by wrapped text line.

public List<Nullable<Boolean>> RowAllowBreakAcrossPages { get; set; } #

Optional per-row row-break overrides. Null entries fall back to AllowRowBreakAcrossPages.