survey-pdf
Version:
Renders JSON-driven SurveyJS forms and their responses as PDF documents in the browser or Node.js: fillable interactive PDF forms (AcroForm) or static printouts.
1,405 lines • 56.9 kB
TypeScript
/**
* Defines the visual style applied to a text fragment in an exported PDF document.
* @since 3.0.0
*/
export interface ITextStyle {
/**
* Specifies the text color.
*
* Supported formats:
*
* - Hexadecimal color values with an optional alpha channel (for example, `"#ff0000"`, `"#0000FF80"`)
* - RGB and RGBA functional notation (for example, `"rgb(255, 0, 0)"`, `"rgba(0, 0, 255, 0.5)"`)
* - CSS-named colors (for example, `"green"`, `"red"`, `"aliceblue"`)
* @since 3.0.0
*/
fontColor?: string;
/**
* Specifies the font family.
*
* Possible values:
*
* - `"Helvetica"`
* - `"Courier"`
* - `"Times"`
* - `"Symbol"`
* - `"ZapfDingbats"`
* - [Custom font name](https://surveyjs.io/pdf-generator/documentation/customize-pdf-form-settings#custom-fonts)
* @since 3.0.0
*/
fontName?: string;
/**
* Specifies the font size, in points.
* @since 3.0.0
*/
fontSize?: number;
/**
* Specifies the font style.
*
* Possible values:
*
* - `"normal"`
* - `"bold"`
* - `"italic"`
* - `"bolditalic"`
* @since 3.0.0
*/
fontStyle?: string;
/**
* Specifies the line height, in points.
* @since 3.0.0
*/
lineHeight?: number;
}
/**
* Defines the visual style applied to an aligned text fragment in an exported PDF document.
* @since 3.0.0
*/
export interface IAlignedTextStyle extends ITextStyle {
/**
* Specifies the horizontal alignment of the text.
*
* Possible values:
*
* - `"left"`
* - `"right"`
* - `"center"`
* @since 3.0.0
*/
textAlign?: 'center' | 'left' | 'right';
}
/**
* Defines the visual style applied to an element border in an exported PDF document.
* @since 3.0.0
*/
export interface IBorderStyle {
/**
* Specifies the border color.
*
* Supported formats:
*
* - Hexadecimal color values with an optional alpha channel (for example, `"#ff0000"`, `"#0000FF80"`)
* - RGB and RGBA functional notation (for example, `"rgb(255, 0, 0)"`, `"rgba(0, 0, 255, 0.5)"`)
* - CSS-named colors (for example, `"green"`, `"red"`, `"aliceblue"`)
*
* A single value applies the same color to all four sides. An array assigns colors per side using CSS shorthand semantics:
*
* ```js
* // all four sides
* borderColor: "#ff0000",
* // top and bottom | left and right
* borderColor: ["#ff0000", "#0000ff"],
* // top | left and right | bottom
* borderColor: ["#ff0000", "#008000", "#0000ff"],
* // top | right | bottom | left
* borderColor: ["#ff0000", "#008000", "#0000ff", "#FFA500"]
* ```
* @since 3.0.0
*/
borderColor?: string | Array<string>;
/**
* Specifies the border width, in points.
*
* A single value applies the same width to all four sides. An array assigns widths per side using CSS shorthand semantics:
*
* ```js
* // all four sides
* borderWidth: 2,
* // top and bottom | left and right
* borderWidth: [2, 1],
* // top | left and right | bottom
* borderWidth: [2, 1, 4],
* // top | right | bottom | left
* borderWidth: [2, 1, 4, 3]
* ```
* @since 3.0.0
*/
borderWidth?: number | Array<number>;
/**
* Specifies the border radius, in points.
*
* A single value applies the same radius to all four corners. An array assigns corner radii using CSS shorthand semantics:
*
* ```js
* // all four corners
* borderRadius: 15,
* // top-left and bottom-right | top-right and bottom-left
* borderRadius: [15, 50],
* // top-left | top-right and bottom-left | bottom-right
* borderRadius: [15, 50, 30],
* // top-left | top-right | bottom-right | bottom-left
* borderRadius: [15, 50, 30, 5]
* ```
* @since 3.0.0
*/
borderRadius?: number | Array<number>;
}
/**
* Defines the visual style applied to an input element in an exported PDF document.
* @since 3.0.0
*/
export interface IInputStyle extends IBorderStyle, ITextStyle {
/**
* Specifies the background color of the input element.
*
* Supported formats:
*
* - Hexadecimal color values with an optional alpha channel (for example, `"#ff0000"`, `"#0000FF80"`)
* - RGB and RGBA functional notation (for example, `"rgb(255, 0, 0)"`, `"rgba(0, 0, 255, 0.5)"`)
* - CSS-named colors (for example, `"green"`, `"red"`, `"aliceblue"`)
* @since 3.0.0
*/
backgroundColor?: string;
}
/**
* Defines the visual style applied to a container element in an exported PDF document.
* @since 3.0.0
*/
export interface IContainerStyle extends IBorderStyle {
/**
* Specifies the background color of the container element.
*
* Supported formats:
*
* - Hexadecimal color values with an optional alpha channel (for example, `"#ff0000"`, `"#0000FF80"`)
* - RGB and RGBA functional notation (for example, `"rgb(255, 0, 0)"`, `"rgba(0, 0, 255, 0.5)"`)
* - CSS-named colors (for example, `"green"`, `"red"`, `"aliceblue"`)
* @since 3.0.0
*/
backgroundColor?: string;
/**
* Specifies the container padding, in points.
*
* A single number applies uniform padding to all sides. An array specifies padding values for individual sides:
*
* ```js
* // all four sides
* padding: 12,
* // top and bottom | left and right
* padding: [12, 24],
* // top | left and right | bottom
* padding: [12, 6, 24],
* // top | right | bottom | left
* padding: [12, 12, 24, 24]
* ```
* @since 3.0.0
*/
padding?: number | number[];
}
/**
* Defines the visual style applied to a selection input (checkbox or radio button) in an exported PDF document.
* @since 3.0.0
*/
export interface ISelectionInputStyle extends IInputStyle {
/**
* Specifies the check mark character used for the selection input.
*
* Check mark characters are taken from the standard Zapf Dingbats PDF font. Although any character from this font can be used, the most commonly suitable options are listed below:
*
* | Zapf Dingbats character | Description |
* | ----------------------- | ----------- |
* | `3` | Light check mark |
* | `4` | Heavy check mark |
* | `n` | Square box |
* | `l` | Circle |
* | `5` | Light "x" mark |
* | `6` | Heavy "x" mark |
* | `7` | Alternate cross |
* | `8` | Alternate cross variant |
* @since 3.0.0
*/
checkMark?: string;
/**
* Specifies the width of the selection input, in points.
* @since 3.0.0
*/
width?: number;
/**
* Specifies the height of the selection input, in points.
* @since 3.0.0
*/
height?: number;
}
/**
* Defines the visual style applied to a separator line in an exported PDF document.
* @since 3.0.0
*/
export interface ISeparatorStyle {
/**
* Specifies the width of the separator, in points.
* @since 3.0.0
*/
width?: number;
/**
* Specifies the height of the separator, in points.
* @since 3.0.0
*/
height?: number;
/**
* Specifies the color of the separator.
*
* Supported formats:
*
* - Hexadecimal color values with an optional alpha channel (for example, `"#ff0000"`, `"#0000FF80"`)
* - RGB and RGBA functional notation (for example, `"rgb(255, 0, 0)"`, `"rgba(0, 0, 255, 0.5)"`)
* - CSS-named colors (for example, `"green"`, `"red"`, `"aliceblue"`)
* @since 3.0.0
*/
color?: string;
}
/**
* A base interface extended by other interfaces that define spacing values in an exported PDF document.
* @since 3.0.0
*/
export interface ISpacingBase {
/**
* Specifies the gap between the header (title and description) and the content, in points.
* @since 3.0.0
*/
headerContentGap?: number;
/**
* Specifies the gap between the title and the description within the header, in points.
* @since 3.0.0
*/
titleDescriptionGap?: number;
}
/**
* Defines spacing values applied to survey UI elements in an exported PDF document.
* @since 3.0.0
*/
export interface ISurveySpacing extends ISpacingBase {
/**
* Specifies the vertical gap between rendered survey pages, in points. Applies only when all survey pages are rendered on a single PDF page ([`questionsOnPageMode`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionsOnPageMode) is set to `"singlePage"`).
* @since 3.0.0
*/
pageGap?: number;
}
/**
* Defines the visual style applied to [survey](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model) UI elements in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface ISurveyStyle extends IContainerStyle {
/**
* Specifies the visual style applied to the survey title.
* @since 3.0.0
*/
title?: ITextStyle;
/**
* Specifies the visual style applied to the survey description.
* @since 3.0.0
*/
description?: ITextStyle;
/**
* Specifies spacing values applied to survey UI elements.
* @since 3.0.0
*/
spacing?: ISurveySpacing;
/**
* Specifies the visual style applied to the survey header.
* @since 3.0.0
*/
header?: IContainerStyle;
}
/**
* Defines spacing values applied to [panel](https://surveyjs.io/form-library/documentation/api-reference/panel-model) or [page](https://surveyjs.io/form-library/documentation/api-reference/page-model) UI elements in an exported PDF document.
* @since 3.0.0
*/
export interface IPanelSpacing extends ISpacingBase {
/**
* Specifies the vertical gap between elements, in points.
* @since 3.0.0
*/
elementGap?: number;
/**
* Specifies the horizontal gap between inline elements, in points.
* @since 3.0.0
*/
inlineElementGap?: number;
}
/**
* Defines the visual style applied to [panel](https://surveyjs.io/form-library/documentation/api-reference/panel-model) UI elements in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IPanelStyle {
/**
* Specifies the visual style applied to the panel or page title.
* @since 3.0.0
*/
title?: ITextStyle;
/**
* Specifies the visual style applied to the panel or page description.
* @since 3.0.0
*/
description?: ITextStyle;
/**
* Specifies the visual style applied to the panel or page header.
* @since 3.0.0
*/
header?: IContainerStyle;
/**
* Specifies the visual style applied to the container in which the panel or page is rendered.
* @since 3.0.0
*/
container?: IContainerStyle;
/**
* Specifies the minimum width of the container in which the panel or page is rendered, in points.
* @since 3.0.0
*/
minWidth?: number;
/**
* Specifies spacing values applied to panel or page UI elements.
* @since 3.0.0
*/
spacing?: IPanelSpacing;
}
/**
* Defines the visual style applied to [page](https://surveyjs.io/form-library/documentation/api-reference/page-model) UI elements in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IPageStyle extends IPanelStyle {
}
/**
* Defines spacing values applied to [question](https://surveyjs.io/form-library/documentation/api-reference/question) UI elements in an exported PDF document.
* @since 3.0.0
*/
export interface IQuestionSpacing extends ISpacingBase {
/**
* Specifies the gap between the question title and the required mark, in points.
* @since 3.0.0
*/
titleRequiredMarkGap?: number;
/**
* Specifies the gap between the question title and the question number, in points.
* @since 3.0.0
*/
titleNumberGap?: number;
/**
* Specifies the gap between the question header (title and description) and the question content, in points. Applies only when the question is displayed [inline with another question](https://surveyjs.io/form-library/documentation/api-reference/question#startWithNewLine).
* @since 3.0.0
*/
inlineHeaderContentGap?: number;
/**
* Specifies the indent from the start of the line for the question content, in points.
* @since 3.0.0
*/
contentIndentStart?: number;
/**
* Specifies the gap between the question content and the comment area, in points. Applies only to questions that [include a comment area](https://surveyjs.io/form-library/documentation/api-reference/question#showCommentArea).
* @since 3.0.0
*/
contentCommentGap?: number;
/**
* Specifies the gap between the question content and the question description, in points. Applies only when the description is displayed [under the question input](https://surveyjs.io/form-library/documentation/api-reference/question#descriptionLocation).
* @since 3.0.0
*/
contentDescriptionGap?: number;
/**
* Specifies the gap between the question's comment area and the text above it, in points. Applies only to questions that [include a comment area](https://surveyjs.io/form-library/documentation/api-reference/question#showCommentArea).
* @since 3.0.0
*/
commentLabelGap?: number;
}
/**
* Defines the visual style applied to [question](https://surveyjs.io/form-library/documentation/api-reference/question) UI elements in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionStyle {
/**
* Specifies the visual style applied to the question title.
* @since 3.0.0
*/
title?: ITextStyle;
/**
* Specifies the visual style applied to the question description.
* @since 3.0.0
*/
description?: ITextStyle;
/**
* Specifies the visual style applied to the required mark.
* @since 3.0.0
*/
requiredMark?: ITextStyle;
/**
* Specifies the visual style applied to the question number.
* @since 3.0.0
*/
number?: ITextStyle;
/**
* Specifies the visual style applied to the question header.
* @since 3.0.0
*/
header?: IContainerStyle;
/**
* Specifies the minimum width of the container in which the question is rendered, in points.
* @since 3.0.0
*/
minWidth?: number;
/**
* Specifies the width percentage allocated to the question header. Applies only to questions with [`titleLocation`](https://surveyjs.io/form-library/documentation/api-reference/question#titleLocation) set to `"left"`.
*
* Possible values: from 0 to 1 (for example, `0.25`)
* @since 3.0.0
*/
inlineHeaderWidthPercentage?: number;
/**
* Specifies the visual style applied to the container in which the question is rendered.
* @since 3.0.0
*/
container?: IContainerStyle;
/**
* Specifies the visual style applied to the question comment. Applies only to questions that [include a comment area](https://surveyjs.io/form-library/documentation/api-reference/question#showCommentArea).
* @since 3.0.0
*/
comment?: IInputStyle;
/**
* Specifies the visual style applied to the question comment in read-only mode. Applies only to questions that [include a comment area](https://surveyjs.io/form-library/documentation/api-reference/question#showCommentArea).
* @since 3.0.0
*/
commentReadOnly?: IInputStyle;
/**
* Specifies the visual style applied to the question input.
* @since 3.0.0
*/
input?: IInputStyle;
/**
* Specifies spacing values applied to question UI elements.
* @since 3.0.0
*/
spacing?: IQuestionSpacing;
/**
* Specifies the visual style applied to the text above the question's comment area. Applies only to questions that [include a comment area](https://surveyjs.io/form-library/documentation/api-reference/question#showCommentArea).
* @since 3.0.0
*/
commentLabel?: ITextStyle;
}
/**
* Defines spacing values applied to UI elements within [Checkboxes](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model), [Radio Button Group](https://surveyjs.io/form-library/documentation/api-reference/radio-button-question-model), [Image Picker](https://surveyjs.io/form-library/documentation/api-reference/image-picker-question-model), [Ranking](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model), and [Rating Scale](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) questions in an exported PDF document.
* @since 3.0.0
*/
export interface ISelectBaseSpacing extends IQuestionSpacing {
/**
* Specifies the horizontal gap between choice columns, in points. Applies when choice options are [arranged in two or more columns](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#colCount).
* @since 3.0.0
*/
choiceColumnGap?: number;
/**
* Specifies the vertical gap between choice options, in points.
* @since 3.0.0
*/
choiceGap?: number;
/**
* Specifies the horizontal gap between the selection input (checkbox or radio button) and the choice text, in points.
* @since 3.0.0
*/
choiceTextGap?: number;
}
/**
* A base interface extended by other interfaces that define visual styles for UI elements within select-like questions in an exported PDF document.
* @since 3.0.0
*/
export interface ISelectBaseStyle extends IQuestionStyle {
/**
* Specifies the minimum width of choice columns, in points. Applies when choice options are [arranged in two or more columns](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#colCount).
* @since 3.0.0
*/
columnMinWidth?: number;
/**
* Specifies the visual style applied to choice text elements.
* @since 3.0.0
*/
choiceText?: ITextStyle;
/**
* Specifies the visual style applied to selection inputs (checkbox or radio button).
* @since 3.0.0
*/
input?: ISelectionInputStyle;
/**
* Specifies the visual style applied to selection inputs in read-only mode.
* @since 3.0.0
*/
inputReadOnly?: ISelectionInputStyle;
/**
* Specifies the visual style applied to checked selection inputs in read-only mode.
* @since 3.0.0
*/
inputReadOnlyChecked?: ISelectionInputStyle;
/**
* Specifies spacing values applied to question UI elements.
* @since 3.0.0
*/
spacing?: ISelectBaseSpacing;
}
/**
* Defines the visual style applied to UI elements within [Checkboxes](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model) questions in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionCheckboxStyle extends ISelectBaseStyle {
}
/**
* Defines the visual style applied to UI elements within [Radio Button Group](https://surveyjs.io/form-library/documentation/api-reference/radio-button-question-model) questions in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionRadiogroupStyle extends ISelectBaseStyle {
}
/**
* A base interface extended by other interfaces that define spacing values for matrix questions in an exported PDF document.
* @since 3.0.0
*/
export interface IMatrixBaseSpacing extends IQuestionSpacing {
/**
* Specifies the horizontal gap between matrix table columns, in points. Applies only to matrices [rendered as tables](https://surveyjs.io/pdf-generator/documentation/api-reference/idocoptions#matrixRenderAs).
* @since 3.0.0
*/
tableColumnGap?: number;
/**
* Specifies the vertical gap between matrix table rows, in points. Applies only to matrices [rendered as tables](https://surveyjs.io/pdf-generator/documentation/api-reference/idocoptions#matrixRenderAs).
* @since 3.0.0
*/
tableRowGap?: number;
/**
* Specifies the vertical gap between list item sections, in points. Applies only to matrices [rendered as lists](https://surveyjs.io/pdf-generator/documentation/api-reference/idocoptions#matrixRenderAs).
* @since 3.0.0
*/
listSectionGap?: number;
/**
* Specifies the vertical gap between list items, in points. Applies only to matrices [rendered as lists](https://surveyjs.io/pdf-generator/documentation/api-reference/idocoptions#matrixRenderAs).
* @since 3.0.0
*/
listItemGap?: number;
/**
* Specifies the vertical gap between the list item title and the item content, in points. Applies only to matrices [rendered as lists](https://surveyjs.io/pdf-generator/documentation/api-reference/idocoptions#matrixRenderAs).
* @since 3.0.0
*/
listItemTitleContentGap?: number;
}
/**
* A base interface extended by other interfaces that define visual styles for UI elements within matrix questions in an exported PDF document.
* @since 3.0.0
*/
export interface IMatrixBaseStyle extends IQuestionStyle {
/**
* Specifies the minimum width of the container in which the matrix is rendered, in points.
* @since 3.0.0
*/
minWidth?: number;
/**
* Specifies the minimum width of matrix columns, in points. Applies only to matrices [rendered as tables](https://surveyjs.io/pdf-generator/documentation/api-reference/idocoptions#matrixRenderAs).
* @since 3.0.0
*/
columnMinWidth?: number;
/**
* Specifies the visual style applied to matrix cells in the exported PDF.
* @since 3.0.0
*/
cell?: IContainerStyle;
/**
* Specifies the visual style applied to matrix row titles in the exported PDF.
* @since 3.0.0
*/
rowTitle?: IAlignedTextStyle;
/**
* Specifies the visual style applied to matrix column titles in the exported PDF.
* @since 3.0.0
*/
columnTitle?: ITextStyle;
/**
* Specifies the visual style applied to the titles of list item sections. Applies only to matrices [rendered as lists](https://surveyjs.io/pdf-generator/documentation/api-reference/idocoptions#matrixRenderAs).
*
* Omitted settings are inherited from the [`rowTitle`](#rowTitle) property.
* @since 3.0.0
*/
listSectionTitle?: IAlignedTextStyle;
/**
* Specifies spacing values applied to matrix UI elements.
* @since 3.0.0
*/
spacing?: IMatrixBaseSpacing;
}
/**
* Defines spacing values applied to UI elements within [Single-Select Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model) questions in an exported PDF document.
* @since 3.0.0
*/
export interface IQuestionMatrixSpacing extends IMatrixBaseSpacing {
gapBetweenItemText?: number;
/**
* Specifies the vertical gap between choice options within list items, in points. Applies only to matrices [rendered as lists](https://surveyjs.io/pdf-generator/documentation/api-reference/idocoptions#matrixRenderAs).
* @since 3.0.0
*/
listChoiceGap?: number;
/**
* Specifies the horizontal gap between the selection input (checkbox or radio button) and the choice text within list items, in points. Applies only to matrices [rendered as lists](https://surveyjs.io/pdf-generator/documentation/api-reference/idocoptions#matrixRenderAs).
* @since 3.0.0
*/
listChoiceTextGap?: number;
}
/**
* Defines the visual style applied to UI elements within [Single-Select Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model) questions in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionMatrixStyle extends IMatrixBaseStyle {
/**
* Specifies the visual style applied to choice text elements within list items. Applies only to matrices [rendered as lists](https://surveyjs.io/pdf-generator/documentation/api-reference/idocoptions#matrixRenderAs).
* @since 3.0.0
*/
listChoiceText?: ITextStyle;
/**
* Specifies the visual style applied to selection inputs (checkboxes and radio buttons).
* @since 3.0.0
*/
input?: ISelectionInputStyle;
/**
* Specifies the visual style applied to selection inputs (checkboxes and radio buttons) in read-only mode.
*
* Omitted settings are inherited from the [`input`](#input) property.
* @since 3.0.0
*/
inputReadOnly?: ISelectionInputStyle;
/**
* Specifies the visual style applied to checked selection inputs (checkboxes and radio buttons) in read-only mode.
*
* Omitted settings are inherited according to the following chain:
*
* `inputReadOnlyChecked` <= [`inputReadonly`](#inputReadonly) <= [`input`](#input)
* @since 3.0.0
*/
inputReadOnlyChecked?: ISelectionInputStyle;
/**
* Specifies the visual style applied to radio buttons.
*
* Omitted settings are inherited from the [`input`](#input) property.
* @since 3.0.0
*/
radioInput?: ISelectionInputStyle;
/**
* Specifies the visual style applied to radio buttons in read-only mode.
*
* Omitted settings are inherited according to the following chain:
*
* `radioInputReadOnly` <= [`inputReadonly`](#inputReadonly) <= [`radioInput`](#radioInput) <= [`input`](#input)
* @since 3.0.0
*/
radioInputReadOnly?: ISelectionInputStyle;
/**
* Specifies the visual style applied to checked radio buttons in read-only mode.
*
* Omitted settings are inherited according to the following chain:
*
* `radioInputReadonlyChecked` <= [`inputReadOnlyChecked`](#inputReadOnlyChecked) <= [`radioInputReadOnly`](#radioInputReadOnly) <= [`inputReadonly`](#inputReadonly) <= [`radioInput`](#radioInput) <= [`input`](#input)
* @since 3.0.0
*/
radioInputReadOnlyChecked?: ISelectionInputStyle;
/**
* Specifies the visual style applied to checkboxes.
*
* Omitted settings are inherited from the [`input`](#input) property.
* @since 3.0.0
*/
checkboxInput?: ISelectionInputStyle;
/**
* Specifies the visual style applied to checkboxes in read-only mode.
*
* Omitted settings are inherited according to the following chain:
*
* `checkboxInputReadOnly` <= [`inputReadonly`](#inputReadonly) <= [`checkboxInput`](#checkboxInput) <= [`input`](#input)
* @since 3.0.0
*/
checkboxInputReadOnly?: ISelectionInputStyle;
/**
* Specifies the visual style applied to checked checkboxes in read-only mode.
*
* Omitted settings are inherited according to the following chain:
*
* `checkboxInputReadOnlyChecked` <= [`inputReadOnlyChecked`](#inputReadOnlyChecked) <= [`checkboxInputReadOnly`](#checkboxInputReadOnly) <= [`inputReadonly`](#inputReadonly) <= [`checkboxInput`](#checkboxInput) <= [`input`](#input)
* @since 3.0.0
*/
checkboxInputReadOnlyChecked?: ISelectionInputStyle;
/**
* Specifies spacing values applied to matrix UI elements.
* @since 3.0.0
*/
spacing?: IQuestionMatrixSpacing;
}
/**
* A base interface extended by other interfaces that define visual styles for UI elements within Multi-Select Matrix and Dynamic Matrix questions in an exported PDF document.
* @since 3.0.0
*/
export interface IMatrixDropdownBaseStyle extends IMatrixBaseStyle {
/**
* Specifies the visual style applied to list item titles. Applies only to matrices [rendered as lists](https://surveyjs.io/pdf-generator/documentation/api-reference/idocoptions#matrixRenderAs).
* @since 3.0.0
*/
listItemTitle?: ITextStyle;
}
/**
* Defines the visual style applied to UI elements within [Multi-Select Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list) questions in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionMatrixDropdownStyle extends IMatrixDropdownBaseStyle {
/**
* Specifies the visual style applied to the containers in which item section titles are rendered. Applies only to matrices [rendered as lists](https://surveyjs.io/pdf-generator/documentation/api-reference/idocoptions#matrixRenderAs).
* @since 3.0.0
*/
listSectionTitleContainer?: IContainerStyle;
}
/**
* Defines the visual style applied to UI elements within [Dynamic Matrix](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model) questions in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionMatrixDynamicStyle extends IMatrixDropdownBaseStyle {
}
/**
* Defines spacing values applied to UI elements within [Multiple Textboxes](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model) questions in an exported PDF document.
* @since 3.0.0
*/
export interface IQuestionMultipleTextSpacing extends IQuestionSpacing {
/**
* Specifies the horizontal gap between item columns, in points.
* @since 3.0.0
*/
itemColumnGap?: number;
/**
* Specifies the vertical gap between items, in points.
* @since 3.0.0
*/
itemGap?: number;
/**
* Specifies the horizontal gap between item titles and text boxes, in points.
* @since 3.0.0
*/
itemTitleGap?: number;
}
/**
* Defines the visual style applied to UI elements within [Multiple Textboxes](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model) questions in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionMultipleTextStyle extends IQuestionStyle {
/**
* Specifies the width percentage allocated to item titles.
*
* Possible values: from 0 to 1 (for example, `0.25`)
* @since 3.0.0
*/
itemTitleWidthPercentage?: number;
/**
* Specifies the visual style applied to item titles.
* @since 3.0.0
*/
itemTitle?: ITextStyle;
/**
* Specifies the visual style applied to table cells that contain items titles or text boxes.
* @since 3.0.0
*/
itemCell?: IContainerStyle;
/**
* Specifies spacing values applied to question UI elements.
* @since 3.0.0
*/
spacing?: IQuestionMultipleTextSpacing;
}
/**
* Defines the visual style applied to UI elements within [Rating Scale](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) questions in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionRatingStyle extends IQuestionStyle {
/**
* Specifies the minimum width of a choice item, in points.
* @since 3.0.0
*/
choiceMinWidth?: number;
/**
* Specifies the visual style applied to choice text elements.
* @since 3.0.0
*/
choiceText?: ITextStyle;
/**
* Specifies the visual style applied to selection inputs (radio buttons).
* @since 3.0.0
*/
input?: ISelectionInputStyle;
/**
* Specifies the visual style applied to selection inputs (radio buttons) in read-only mode.
*
* Omitted settings are inherited from the [`input`](#input) property.
* @since 3.0.0
*/
inputReadOnly?: ISelectionInputStyle;
/**
* Specifies the visual style applied to checked selection inputs (radio buttons) in read-only mode.
*
* Omitted settings are inherited according to the following chain:
*
* `inputReadOnlyChecked` <= [`inputReadonly`](#inputReadonly) <= [`input`](#input)
* @since 3.0.0
*/
inputReadOnlyChecked?: ISelectionInputStyle;
/**
* Specifies spacing values applied to question UI elements.
* @since 3.0.0
*/
spacing?: ISelectBaseSpacing;
}
/**
* Defines the visual style applied to UI elements within [Ranking](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model) questions in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionRankingStyle extends IQuestionStyle {
/**
* Specifies the visual style applied to the question input.
* @since 3.0.0
*/
input?: ISelectionInputStyle;
/**
* Specifies the visual style applied to the separator line between the ranked and unranked areas. Applies only to questions with [`selectToRankEnabled`](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model#selectToRankEnabled) set to `true`.
* @since 3.0.0
*/
selectToRankAreaSeparator?: ISeparatorStyle;
/**
* Specifies the visual style applied to choice text elements.
* @since 3.0.0
*/
choiceText?: ITextStyle;
/**
* Specifies spacing values applied to question UI elements.
* @since 3.0.0
*/
spacing?: ISelectBaseSpacing;
}
/**
* Defines spacing values applied to UI elements within [Slider](https://surveyjs.io/form-library/documentation/api-reference/questionslidermodel) questions in an exported PDF document.
* @since 3.0.0
*/
export interface IQuestionSliderSpacing extends IQuestionSpacing {
/**
* Specifies the horizontal gap between the two input elements representing a value range, in points. Applies only to questions with [`sliderType`](https://surveyjs.io/form-library/documentation/api-reference/questionslidermodel#sliderType) set to `"range"`.
* @since 3.0.0
*/
inputRangeGap?: number;
}
/**
* Defines the visual style applied to UI elements within [Slider](https://surveyjs.io/form-library/documentation/api-reference/questionslidermodel) questions in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionSliderStyle extends IQuestionStyle {
/**
* Specifies the visual style applied to input elements.
* @since 3.0.0
*/
input?: IInputStyle;
/**
* Specifies the visual style applied to input elements in read-only mode.
*
* Omitted settings are inherited from the [`input`](#input) property.
* @since 3.0.0
*/
inputReadOnly?: IInputStyle;
/**
* Specifies the visual style applied to the separator line between the minimum and maximum values in a range. Applies only to questions with [`sliderType`](https://surveyjs.io/form-library/documentation/api-reference/questionslidermodel#sliderType) set to `"range"`.
* @since 3.0.0
*/
rangeSeparator?: ISeparatorStyle;
/**
* Specifies spacing values applied to question UI elements.
* @since 3.0.0
*/
spacing?: IQuestionSliderSpacing;
}
/**
* Defines the visual style applied to UI elements within [Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) questions in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionDropdownStyle extends IQuestionStyle {
/**
* Specifies the visual style applied to the input element in read-only mode.
*
* Omitted settings are inherited from the [`input`](#input) property.
* @since 3.0.0
*/
inputReadOnly?: IInputStyle;
}
/**
* Defines the visual style applied to UI elements within [Multi-Select Dropdown (Tag Box)](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model) questions in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionTagboxStyle extends IQuestionCheckboxStyle {
}
/**
* Defines spacing values applied to UI elements within [File Upload](https://surveyjs.io/form-library/documentation/api-reference/file-model) questions in an exported PDF document.
* @since 3.0.0
*/
export interface IQuestionFileSpacing extends IQuestionSpacing {
/**
* Specifies the vertical gap between image previews and file names, in points.
* @since 3.0.0
*/
imageFileNameGap?: number;
/**
* Specifies the horizontal gap between file item columns, in points.
* @since 3.0.0
*/
fileItemColumnGap?: number;
/**
* Specifies the vertical gap between file items, in points.
* @since 3.0.0
*/
fileItemGap?: number;
}
/**
* Defines the visual style applied to UI elements within [File Upload](https://surveyjs.io/form-library/documentation/api-reference/file-model) questions in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionFileStyle extends IQuestionStyle {
/**
* Specifies the minimum width allocated to render a file item (file name and preview), in points.
* @since 3.0.0
*/
fileItemMinWidth?: number;
/**
* Specifies how image previews are resized to fit into their container.
*
* Possible values:
*
* - `"cover"`
* - `"fill"`
* - `"contain"`
* @since 3.0.0
*/
defaultImageFit?: string;
/**
* Specifies the visual style applied to file names.
* @since 3.0.0
*/
fileName?: ITextStyle;
/**
* Specifies spacing values applied to question UI elements.
* @since 3.0.0
*/
spacing?: IQuestionFileSpacing;
}
/**
* Defines spacing values applied to UI elements within [Dynamic Panels](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model) in an exported PDF document.
* @since 3.0.0
*/
export interface IQuestionPanelDynamicSpacing extends IQuestionSpacing {
/**
* Specifies the vertical gap between panels, in points.
* @since 3.0.0
*/
panelGap?: number;
}
/**
* Defines the visual style applied to UI elements within [Dynamic Panels](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model) in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionPanelDynamicStyle extends IQuestionStyle {
/**
* Specifies spacing values applied to the Dynamic Panel UI elements.
* @since 3.0.0
*/
spacing?: IQuestionPanelDynamicSpacing;
}
/**
* Defines spacing values applied to UI elements within [Yes/No (Boolean)](https://surveyjs.io/form-library/documentation/api-reference/boolean-question-model) questions in an exported PDF document.
* @since 3.0.0
*/
export interface IQuestionBooleanSpacing extends IQuestionSpacing {
/**
* Specifies the horizontal gap between choice columns, in points.
* @since 3.0.0
*/
choiceColumnGap?: number;
/**
* Specifies the horizontal gap between the selection input (checkbox or radio button) and the choice text, in points.
* @since 3.0.0
*/
choiceTextGap?: number;
}
/**
* Defines the visual style applied to UI elements within [Yes/No (Boolean)](https://surveyjs.io/form-library/documentation/api-reference/boolean-question-model) questions in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionBooleanStyle extends IQuestionStyle {
/**
* Specifies the visual style applied to choice text elements.
* @since 3.0.0
*/
choiceText?: ITextStyle;
/**
* Specifies the visual style applied to selection inputs (checkboxes and radio buttons).
* @since 3.0.0
*/
input?: ISelectionInputStyle;
/**
* Specifies the visual style applied to selection inputs (checkboxes and radio buttons) in read-only mode.
*
* Omitted settings are inherited from the [`input`](#input) property.
* @since 3.0.0
*/
inputReadOnly?: ISelectionInputStyle;
/**
* Specifies the visual style applied to checked selection inputs (checkboxes and radio buttons) in read-only mode.
*
* Omitted settings are inherited according to the following chain:
*
* `inputReadOnlyChecked` <= [`inputReadonly`](#inputReadonly) <= [`input`](#input)
* @since 3.0.0
*/
inputReadOnlyChecked?: ISelectionInputStyle;
/**
* Specifies the visual style applied to radio buttons.
*
* Omitted settings are inherited from the [`input`](#input) property.
* @since 3.0.0
*/
radioInput?: ISelectionInputStyle;
/**
* Specifies the visual style applied to radio buttons in read-only mode.
*
* Omitted settings are inherited according to the following chain:
*
* `radioInputReadOnly` <= [`inputReadonly`](#inputReadonly) <= [`radioInput`](#radioInput) <= [`input`](#input)
* @since 3.0.0
*/
radioInputReadOnly?: ISelectionInputStyle;
/**
* Specifies the visual style applied to checked radio buttons in read-only mode.
*
* Omitted settings are inherited according to the following chain:
*
* `radioInputReadonlyChecked` <= [`inputReadOnlyChecked`](#inputReadOnlyChecked) <= [`radioInputReadOnly`](#radioInputReadOnly) <= [`inputReadonly`](#inputReadonly) <= [`radioInput`](#radioInput) <= [`input`](#input)
* @since 3.0.0
*/
radioInputReadOnlyChecked?: ISelectionInputStyle;
/**
* Specifies the visual style applied to checkboxes.
*
* Omitted settings are inherited from the [`input`](#input) property.
* @since 3.0.0
*/
checkboxInput?: ISelectionInputStyle;
/**
* Specifies the visual style applied to checkboxes in read-only mode.
*
* Omitted settings are inherited according to the following chain:
*
* `checkboxInputReadOnly` <= [`inputReadonly`](#inputReadonly) <= [`checkboxInput`](#checkboxInput) <= [`input`](#input)
* @since 3.0.0
*/
checkboxInputReadOnly?: ISelectionInputStyle;
/**
* Specifies the visual style applied to checked checkboxes in read-only mode.
*
* Omitted settings are inherited according to the following chain:
*
* `checkboxInputReadOnlyChecked` <= [`inputReadOnlyChecked`](#inputReadOnlyChecked) <= [`checkboxInputReadOnly`](#checkboxInputReadOnly) <= [`inputReadonly`](#inputReadonly) <= [`checkboxInput`](#checkboxInput) <= [`input`](#input)
* @since 3.0.0
*/
checkboxInputReadOnlyChecked?: ISelectionInputStyle;
/**
* Specifies spacing values applied to matrix UI elements.
* @since 3.0.0
*/
spacing?: IQuestionBooleanSpacing;
}
/**
* Defines spacing values applied to UI elements within [Image Picker](https://surveyjs.io/form-library/documentation/api-reference/image-picker-question-model) questions in an exported PDF document.
* @since 3.0.0
*/
export interface IQuestionImagePickerSpacing extends ISelectBaseSpacing {
/**
* Specifies the vertical gap between the image preview and the input element, in points.
* @since 3.0.0
*/
imageInputGap?: number;
}
/**
* Defines the visual style applied to UI elements within [Image Picker](https://surveyjs.io/form-library/documentation/api-reference/image-picker-question-model) questions in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionImagePickerStyle extends ISelectBaseStyle {
/**
* Specifies the aspect ratio of images.
* @since 3.0.0
*/
imageRatio?: number;
/**
* Specifies the minimum width of images, in points.
* @since 3.0.0
*/
imageMinWidth?: number;
/**
* Specifies the maximum width of images, in points.
* @since 3.0.0
*/
imageMaxWidth?: number;
/**
* Specifies the visual style applied to radio buttons.
*
* Omitted settings are inherited from the [`input`](#input) property.
* @since 3.0.0
*/
radioInput?: ISelectionInputStyle;
/**
* Specifies the visual style applied to radio buttons in read-only mode.
*
* Omitted settings are inherited according to the following chain:
*
* `radioInputReadOnly` <= [`inputReadonly`](#inputReadonly) <= [`radioInput`](#radioInput) <= [`input`](#input)
* @since 3.0.0
*/
radioInputReadOnly?: ISelectionInputStyle;
/**
* Specifies the visual style applied to checked radio buttons in read-only mode.
*
* Omitted settings are inherited according to the following chain:
*
* `radioInputReadonlyChecked` <= [`inputReadOnlyChecked`](#inputReadOnlyChecked) <= [`radioInputReadOnly`](#radioInputReadOnly) <= [`inputReadonly`](#inputReadonly) <= [`radioInput`](#radioInput) <= [`input`](#input)
* @since 3.0.0
*/
radioInputReadOnlyChecked?: ISelectionInputStyle;
/**
* Specifies the visual style applied to checkboxes.
*
* Omitted settings are inherited from the [`input`](#input) property.
* @since 3.0.0
*/
checkboxInput?: ISelectionInputStyle;
/**
* Specifies the visual style applied to checkboxes in read-only mode.
*
* Omitted settings are inherited according to the following chain:
*
* `checkboxInputReadOnly` <= [`inputReadonly`](#inputReadonly) <= [`checkboxInput`](#checkboxInput) <= [`input`](#input)
* @since 3.0.0
*/
checkboxInputReadOnly?: ISelectionInputStyle;
/**
* Specifies the visual style applied to checked checkboxes in read-only mode.
*
* Omitted settings are inherited according to the following chain:
*
* `checkboxInputReadOnlyChecked` <= [`inputReadOnlyChecked`](#inputReadOnlyChecked) <= [`checkboxInputReadOnly`](#checkboxInputReadOnly) <= [`inputReadonly`](#inputReadonly) <= [`checkboxInput`](#checkboxInput) <= [`input`](#input)
* @since 3.0.0
*/
checkboxInputReadOnlyChecked?: ISelectionInputStyle;
/**
* Specifies spacing values applied to matrix UI elements.
* @since 3.0.0
*/
spacing?: IQuestionImagePickerSpacing;
}
/**
* A base interface extended by other interfaces that define visual styles for UI elements within text questions in an exported PDF document.
* @since 3.0.0
*/
export interface ITextBaseStyle extends IQuestionStyle {
/**
* Specifies the visual style applied to the question input in read-only mode.
*
* Omitted settings are inherited from the [`input`](#input) property.
* @since 3.0.0
*/
inputReadOnly?: IInputStyle;
}
/**
* Defines the visual style applied to UI elements within [Single-Line Input](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) questions in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionTextStyle extends ITextBaseStyle {
}
/**
* Defines the visual style applied to UI elements within [Long Text](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model) questions in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionCommentStyle extends ITextBaseStyle {
}
/**
* Defines the visual style applied to [Expression](https://surveyjs.io/form-library/documentation/api-reference/expression-model) survey elements in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionExpressionStyle extends IQuestionStyle {
}
/**
* Defines the visual style applied to [HTML](https://surveyjs.io/form-library/documentation/api-reference/add-custom-html-to-survey) survey elements in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IQuestionHtmlStyle extends IQuestionStyle {
/**
* Specifies the visual style applied to textual content.
* @since 3.0.0
*/
text?: ITextStyle;
}
/**
* Defines the visual style applied to UI elements in an exported PDF document.
*
* [PDF Appearance Customization - Styles Config](/pdf-generator/documentation/pdf-appearance-customization#styles-config (linkStyle))
* @since 3.0.0
*/
export interface IDocStyle {
/**
* Defines the visual style applied to [survey](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model) UI elements in an exported PDF document.
* @since 3.0.0
*/
survey?: ISurveyStyle;
/**
* Defines the visual style applied to [page](https://surveyjs.io/form-library/documentation/api-reference/page-model) UI elements in an exported PDF document.
* @since 3.0.0
*/
page?: IPageStyle;
/**
* Defines the visual style applied to [panel](https://surveyjs.io/form-library/documentation/api-reference/panel-model) UI elements in an exported PDF document.
* @since 3.0.0
*/
panel?: IPanelStyle;
/**
* Defines the visual style applied to UI elements within [Dynamic Panels](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model) in an exported PDF document.
* @since 3.0.0
*/
paneldynamic?: IQuestionPanelDynamicStyle;
matrixbase?: IMatrixBaseStyle;
/**
* Defines the visual style applied to UI elements within [Single-Select Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model) questions in an exported PDF document.
* @since 3.0.0
*/
matrix?: IQuestionMatrixStyle;
matrixdropdownbase?: IMatrixDropdownBaseStyle;
/**
* Defines the visual style applied to UI elements within [Multi-Select Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list) questions in an exported PDF document.
* @since 3.0.0
*/
matrixdropdown?: IQuestionMatrixDropdownStyle;
/**
* Defines the visual style applied to UI elements within [Dynamic Matrix](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model) questions in an exported PDF document.
* @since 3.0.0
*/
matrixdynamic?: IQuestionMatrixDynamicStyle;
textbase?: ITextBaseStyle;
/**
* Defines the visual style applied to UI elements within [Single-Line Input](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) questions in an exported PDF document.
* @since 3.0.0
*/
text?: IQuestionTextStyle;
/**
* Defines the visual style applied to UI elements within [Long Text](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model) questions in an exported PDF document.
* @since 3.0.0
*/
comment?: IQuestionCommentStyle;
/**
* Defines the visual style applied to UI elements within [Multiple Textboxes](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model) questions in an exported PDF document.
* @since 3.0.0
*/
multipletext?: IQuestionMultipleTextStyle;
/**
* Defines the visual style applied to [question](https://surveyjs.io/form-library/documentation/api-reference/question) UI elements in an exported PDF document.
* @since 3.0.0
*/
question?: IQuestionStyle;
selectbase?: ISelectBaseStyle;
/**
* Defines the visual style applied to UI elements within [Checkboxes](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model) questions in an exported PDF document.
* @since 3.0.0
*/
checkbox?: IQuestionCheckboxStyle;
/**
* Defines the visual style applied to UI elements within [Radio Button Group](https://surveyjs.io/form-library/documentation/api-reference/radio-button-question-model) questions in an exported PDF document.
* @since 3.0.0
*/
radiogroup?: IQuestionRadiogroupStyle;
/**
* Defines the visual style applied to UI elements within [Image Picker](https://surveyjs.io/form-library/documentation/api-reference/image-picker-question-model) questions in an exported PDF document.
* @since 3.0.0
*/
imagepicker?: IQuestionImagePickerStyle;
/**
* Defines the visual style applied to UI elements within [Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) questions in an exported PDF document.
* @since 3.0.0
*/
dropdown?: IQuestionDropdownStyle;
/**
* Defines the visual style applied to UI elements within [Multi-Select Dropdown (Tag Box)](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model) questions in an exported PDF document.
* @since 3.0.0
*/
tagbox?: IQuestionTagboxStyle;
/**
* Defines the visual style applied to UI elements within [Yes/No (Boolean)](https://surveyjs.io/form-library/documentation/api-reference/boolean-question-model) questions in an exported PDF document.
* @since 3.0.0
*/
boolean?: IQuestionBooleanStyle;
/**
* Defines the visual style applied to UI elements within [Rating Scale](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) questions in an exported PDF document.
* @since 3.0.0
*/
rating?: IQuestionRatingStyle;
/**
* Defines the visual style applied to UI elements within [Ranking](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model) questions in an exported PDF document.
* @since 3.0.0
*/
ranking?: IQuestionRankingStyle;
/**
* Defines the visual style applied to [Expression](https://surveyjs.io/form-library/documentation/api-reference/expression-model) survey elements in an exported PDF document.
* @since 3.0.0
*/
expression?: IQuestionExpressionStyle;
/**
* Defines the visual style applied to [HTML](https://surveyjs.io/form-library/documentation/api-reference/add-custom-html-to-survey) survey elements in an exported PDF document.
* @since 3.0.0
*/
html?: IQuestionHtmlStyle;
/**
* Defines the visual style applied to UI elements within [File Upload](https://surveyjs.io/form-library/documentation/api-reference/file-model) questions in an exported PDF document.
* @since 3.0.0
*/
file?: IQuestionFileStyle;
/**
* Defines the visual style applied to UI elements within [Slider](https://surveyjs.io/form-library/documentation/api-reference/questionslidermodel) questions in an exported PDF document.
* @since 3.0.0
*/
slider?: IQuestionSliderStyle;
}