UNPKG

@boristype/types

Version:

<h1 align="center">WT Types</h1> <div align="center"> Typescript типы для WebSoft HCM.

1,676 lines (1,480 loc) 77.2 kB
declare namespace Websoft { type Interfaces = { "Authorization": Authorization.Authorization; "Crypto": Utils.Crypto, "CryptoPro": CryptoPro.CryptoProPrime; "CryptoStore": CryptoStore.CryptoStore; "Excel": Office.Excel.Document; // "FaceRecognition": OpenCV.FaceRecognition; "HttpRequest": { HttpRequest: HttpRequest.HttpRequest; HttpResponse: HttpRequest.HttpResponse; }; "Image": Imaging.Image; "ImageUtils": Imaging.ImageUtils; // "MediaPostStreamHandler": MediaHandler.MediaPostStreamHandler; "Pdf": Office.Pdf.Document; "PdfGenerator": Office.Pdf.Generator; // "PKeyGenerator": PKeyGenerator.PKeyGenerator; "Powerpoint": Office.Powerpoint.Presentation; // "RecordingClient": Recording.Client; "RegExp": RegExp.RegExp; // "UniBridgeSettings": spxml.unibridge.UniBridgeSettings; // "VideoNeuralHandler": VideoNeuralHandler.VideoNeuralHandler; "Video": Video.Video; "Word": Office.Word.Document; "WebUtils": Utils.WebUtils; // "XHTTPMiddleware": XHTTP.Middleware; "Zip": Zip.Zip; }; namespace Authorization { interface IObjectArray { GetNext(): boolean; GetName(): string; GetValue(name: string): object; IsEnabled(): boolean; GetStringValue(name: string): string; Token(): string; } class Authorization { ValidateLDAP( ldap_server: string, ldap_container: string, username: string, password: string, context_options: number, context_type: number ): boolean; ValidateLDAPRequestNovell( ldap_server: string, ldap_container: string, username: string, password: string, auth_type: number, ProtocolVersion: number, ssl: boolean ): boolean; ValidateLDAPRequest( ldap_server: string, ldap_container: string, username: string, password: string, auth_type: number, ProtocolVersion: number, ssl: boolean ): boolean; GetValidateLDAPWithAttributes( ldap_server: string, ldap_container: string, username: string, password: string, properties: string, context_options: number, context_type: number ): [string, object]; ValidateLDAPWithAttributes( ldap_server: string, ldap_container: string, username: string, password: string, properties: string, context_options: number, context_type: number ): IObjectArray; GetValidateADALWithTokenAttributes( ad_server_tenant: string, ad_clientid: string, resourceId: string, token: string, properties: string, stsDiscoveryEndPoint: string ): [string, object]; ValidateADALWithTokenAttributes( ad_server_tenant: string, ad_clientid: string, resourceId: string, token: string, properties: string, stsDiscoveryEndPoint: string ): IObjectArray; } } namespace Discharge { class Discharge { Init(connection_string: string, db_type: string, AppDirectory: string): boolean; SqlExecute(sql_string: string): boolean; GetEOF(): boolean; GetNext(): boolean; GetRowJson(): string; GetValue(field_name: string): string; Close(): number; CloseSqlResult(): number; GetError(): string; } } namespace Code { class BufferedConsoleStream { } class JsonExtensions { } class wsft { } class WTConsole { } } namespace CryptoPro { class CryptoProPrime { CloseStore(): boolean; GetX509CertificateByThumbprint(thumbprint: string, validOnly?: boolean, hasPrivateKey?: boolean): boolean; OpenStore(store?: number, flags?: number): boolean; ssl_cms_sign(messageData: string): string; } } namespace CryptoStore { class CryptoStore { Close(): boolean; DecryptString(message: string, fOAEP: boolean): string; DecryptStringAES(message: string, key: string, IV?: string): string; EmbedSignatureToSignedMsgData(message: string, mimeHeader: string): string; EmbedSignatureToSignedMsgDataWithEncrypt(message: string, recipCert: string, mimeHeader: string): string; EncryptString(message: string, fOAEP?: boolean): string; EncryptStringAES(message: string, key: string, IV?: string): string; ExtractAlternativeMimeDataFromSigned(message: string): [string, string, string, string]; GenerateKey(): string; GetDecryptedMsgData(message: string): string; GetEncryptedMsgData( message: string, fileName: string, attachment: Binary, recipCert: string, mimeHeader: string ): string; GetLastError(): number; GetLastErrorMessage(): string; GetMsgData(message: string, fileName: string, attachment: Binary, mimeHeader: string): string; GetSelectedCertAttribute(name: string): string; GetSignedEncryptedMsgData( message: string, fileName: string, attachment: Binary, recipCert: string, mimeHeader: string ): string; GetSignedMsgData(message: string, fileName: string, attachment: Binary, mimeHeader: string): string; isCertificateSelected(): boolean; Open(store: number, storeName: string, flags: number): boolean; SelectCertificate(recipCert: string): boolean; SelectCertificateByThumbprint(thumbprint: string, validOnly?: boolean, hasPrivateKey?: boolean): boolean; } } namespace HttpRequest { class HttpRequest { readonly Error: number; readonly ErrorMessage: string; Open(url: string, method: string, body?: string, headers?: string, handler?: Object, client?: Object, timeout?: number): HttpResponse; CreateNewHttpClientHandler(ignoreClientCertficate: boolean): Object; CreateNewHttpClient(handler: Object): Object; } class HttpResponse { readonly RespCode: number; readonly Headers: string; readonly Url: string; readonly IsSuccessStatusCode: boolean; Body: string; BinaryBody: Binary; } } namespace Imaging { /** Класс для работы с изображениями. */ class Image extends WebsoftBaseClass { /** Высота изображения. */ Height: number; /** Ширина изображения. */ Width: number; /** * Выгружает изображение из памяти и освобождает файл. */ Close(): 1 | 0; /** * Отражает изображение. * @param {string} direction - Направление отражение. "x" - по горизонтали, "y" - по вертикали, "xy" - по горизотали и вертикали. */ Flip(direction: string): 1 | 0; /** * Открывает изображение по указанному пути. * @param {string} filePath - Путь до изображения. */ Open(filePath: string): 1 | 0; /** * Изменяет размер изображения согласно указанным параметрам. * @param {number} newWidth - Новая ширина. * @param {number} maxHeight - Новая высота. * @param {boolean} keepProportions - Соблюдать пропорции. * @param {boolean} onlyResizeIfWider - Изменять размер только если новая ширина больше текущей. */ Resize( newWidth: number, maxHeight: number, keepProportions: boolean, onlyResizeIfWider: boolean ): 1 | 0; /** * Поворачивает изображение на указанный угол. * @param {number} degree - Угол поворота. Принимает одно из следующих значений: 90, 180, 270. */ Rotate(degree: number): 1 | 0; /** * Сохраняет загруженное изображение. */ Save(): 1 | 0; /** * Сохраняет изображение по указанному пути с указанным качеством (только для JPEG). * Формат определяется по расширению имени файла в пути сохранения. * @param {string} newFilePath - Путь сохранения, включая имя файла. * @param {number} [quality=80] - Качество сохранения JPEG. Значения от 1 до 100. */ SaveAs( newFilePath: string, quality: number ): 1 | 0; } /** Класс для создания фотогалерей. Для работы с изображениями рекомендуется использовать класс Image. */ class ImageUtils extends WebsoftBaseClass { /** * Подготавливает изображения для галереи. * @param {string} sourceFolderPath - Путь до папки с изображениями. * @param {string} outputPath - Путь для сохранения результатов обработки. * @param {number} newFileWidth - Новая ширина. * @param {number} newFileHeight - Новая высота. * @param {number} thumbnailWidth - Ширина изображений для препросмотра. * @param {number} thumbnailHeight - Высота изображений для препросмотра. * @param {number} quality - Качество сохранения JPEG. Значения от 1 до 100. * @param {boolean} onlyResizeIfWider - Изменять размер только если новая ширина больше текущей. */ BuildGallery( sourceFolderPath: string, outputPath: string, newFileWidth: number, newFileHeight: number, thumbnailWidth: number, thumbnailHeight: number, quality: number, onlyResizeIfWider: boolean ): 1 | 0; /** * Изменяет размер изображения и сохраняет по указанному пути. * @param {string} originalFilePath - Путь до изображения. * @param {string} newFilePath - Путь для сохранения измененного изображения. * @param {number} newWidth - Новая ширина. * @param {number} maxHeight - Новая высота. * @param {number} quality - Качество сохранения JPEG. Значения от 1 до 100. * @param {boolean} onlyIfDoesntExists - Сохранять только если файл назначения не существует. * @param {boolean} onlyResizeIfWider - Изменять размер только если новая ширина больше текущей. */ ResizeImage( originalFilePath: string, newFilePath: string, newWidth: number, maxHeight: number, quality: number, onlyIfDoesntExists: boolean, onlyResizeIfWider: boolean ): 1 | 0; /** * Изменяет размер набора изображений из указанной папки и сохраняет по указанному пути. * @param {string} folderPath - Путь до папки с изображениями. * @param {string} outputPath - Путь для сохранения измененных изображений. * @param {number} newFileWidth - Новая ширина. * @param {number} newFileHeight - Новая высота. * @param {number} quality - Качество сохранения JPEG. Значения от 1 до 100. * @param {boolean} includeSubFolder - Обрабатывать изображения в дочерних папках. * @param {boolean} onlyIfDoesntExists - Сохранять только если файл назначения не существует. * @param {boolean} onlyResizeIfWider - Изменять размер только если новая ширина больше текущей. */ ResizeImages( folderPath: string, outputPath: string, newFileWidth: number, newFileHeight: number, quality: number, includeSubFolder: boolean, onlyIfDoesntExists: boolean, onlyResizeIfWider: boolean ): 1 | 0; } } namespace Office { /** * Библиотека для работы с документами Microsoft Office Excel. */ namespace Excel { /** * Описание границы ячейки. */ class Border extends WebsoftBaseClass { /** * Цвет границы. */ Color: string; /** * Стиль границы. */ LineStyle: "None" | "DashDot" | "DashDotDot" | "Dashed" | "Dotted" | "Double" | "Hair" | "Medium" | "MediumDashDot" | "MediumDashDotDot" | "MediumDashed" | "SlantedDashDot" | "Thick" | "Thin"; } /** * Класс для работы с границами ячейки. */ class Borders extends WebsoftBaseClass { /** * Получает описание границы указанного типа. * @param string - BorderType. */ GetBorder( borderType: "LeftBorder" | "RightBorder" | "TopBorder" | "BottomBorder" | "DiagonalDown" | "DiagonalUp" | "Vertical" | "Horizontal" ): Border; /** * Устанавливает стиль границ ячейки. */ SetColor(color: string): void; /** * Устанавливает стиль границ ячейки. */ SetStyle( borderType: "None" | "DashDot" | "DashDotDot" | "Dashed" | "Dotted" | "Double" | "Hair" | "Medium" | "MediumDashDot" | "MediumDashDotDot" | "MediumDashed" | "SlantedDashDot" | "Thick" | "Thin" ): void; } class Cell extends WebsoftBaseClass { /** * Формула. */ Formula: string; /** * Значение в формате HTML. */ HtmlString: string; /** * Является ли ячейка объединенной с другими. */ readonly IsMerged: boolean; /** * Количество картинок в ячейке. */ readonly PicturesCount: number; /** * Стиль ячейки. */ readonly Style: Style; /** * Значение ячейки. */ Value: string | number | boolean | Date | null; /** * Получить картинку. * @param System.Int32 - Порядковый номер изображения. * @returns Изображение. */ GetPicture(index: number): Drawing.Picture; } class Cells extends WebsoftBaseClass { /** * Колонки. */ Columns: Columns; /** * Настройка потребления памяти. Принимает значения "MemoryPreference" или "Normal". * Значение "MemoryPreference" применяется при записи в документ большого количества данных. */ MemorySetting: "MemoryPreference" | "Normal"; /** * Строки. */ Rows: Rows; /** * Выбирает диапазон ячеек для массового управления. * @param rangeCells - Диапазон ячеек в формате "A1:B9". */ CreateRange(rangeCells: string): Range; /** * Получает ячейку по указанному расположению. * @param cellName - Расположение. */ GetCell(cellName: string): Cell; /** * Скрывает колонку. * @param number - Номер колонки. */ HideColumn(number: number): void; /** * Скрывает строку. * @param number - Номер строки. */ HideRow(number: number): void; /** * Объединяет указанные ячейки. * @param firstRow - Номер строки. * @param firstColumn - Номер колонки. * @param totalRows - Количество строк. * @param totalColumns - Количество колонок. */ Merge(firstRow: number, firstColumn: number, totalRows: number, totalColumns: number): 1 | 0; /** * Устанавливает ширину колонки. * @param columnNum - Номер колонки. * @param width - Ширина (Double). */ SetColumnWidth(columnNum: number, width: number): 1 | 0; /** * Устанавливает ширину строки. * @param rowNum - Номер строки. * @param width - Ширина (Double). */ SetRowHeight(rowNum: number, width: number): 1 | 0; /** * Разъединяет указанные ячейки. * @param firstRow - Номер строки. * @param firstColumn - Номер колонки. * @param totalRows - Количество строк. * @param totalColumns - Количество колонок. */ UnMerge(firstRow: number, firstColumn: number, totalRows: number, totalColumns: number): 1 | 0; } class Column extends WebsoftBaseClass { /** * Ширина колонки. */ Width: number; } class Columns extends WebsoftBaseClass { /** * Получает {@link Columns | колонку} по указанному номеру. * @param index - Номер колонки. */ GetColumn(index: number): Column; } /** * Класс для работы с документом Microsoft Excel. */ class Document extends WebsoftBaseClass { /** * Количество страниц. */ readonly WorkSheetsCount: number; /** * Создает новый лист. */ AddWorksheet(): Worksheet; /** * Закрывает документ. */ Close(): 0 | 1; /** * Создает книгу Excel. */ CreateWorkBook(): 0 | 1; /** * Получает значение листа по номеру. * @param index - Порядковый номер листа. */ GetWorksheet(index: number): Worksheet; /** * Загружает данные в формате HTML из указанного файла. * @param filePath - Путь до файла в формате HTML. * @param resourcesDirectoryName - Название папки с ресурсами (изображения, стили и т.д.). */ LoadHtmlFile(filePath: string, resourcesDirectoryName: string): 0 | 1; /** * Загружает данные в формате HTML из строки. * @param htmlText - Переменная, содержащаю строку в формате HTML. * @param resourcesDirectoryName - Название папки с ресурсами (изображения, стили и т.д.). */ LoadHtmlString(htmlText: string, resourcesDirectoryName: string): 0 | 1; /** * Открывает файл Microsoft Excel. * @param filePath - Путь до файла. */ Open(filePath: string): 1 | 0; /** * Сохраняет текущий документ. */ Save(): 1 | 0; /** * Сохраняет документ по указанному пути. * Формат определяется по расширению имени файла в пути сохранения. * Доступные форматы: CSV, ODS, TIFF, SVG, PDF, MHTML, HTML. * @param newPath - Путь сохранения, включая имя файла. */ SaveAs(newPath: string): 1 | 0; } class Font extends WebsoftBaseClass { Color: string; IsBold: boolean; IsItalic: boolean; Name: string; Size: number; } class PageSetup extends WebsoftBaseClass { /** * Адаптировать содержимое по высоте под указанное количество страниц. */ FitToPagesTall: number; /** * Адаптировать содержимое по ширине под указанное количество страниц. */ FitToPagesWide: number; /** * Ориентация страницы. Допустимые значения: "Landscape" или "Portrait". */ Orientation: "Landscape" | "Portrait"; /** * Размер страницы для печати. */ PaperSize: "PaperLetter" | "PaperLetterSmall" | "PaperTabloid" | "PaperLedger" | "PaperLegal" | "PaperStatement" | "PaperExecutive" | "PaperA3" | "PaperA4" | "PaperA4Small" | "PaperA5" | "PaperB4" | "PaperB5" | "PaperFolio" | "PaperQuarto" | "Paper10x14" | "Paper11x17" | "PaperNote" | "PaperEnvelope9" | "PaperEnvelope10" | "PaperEnvelope11" | "PaperEnvelope12" | "PaperEnvelope14" | "PaperCSheet" | "PaperDSheet" | "PaperESheet" | "PaperEnvelopeDL" | "PaperEnvelopeC5" | "PaperEnvelopeC3" | "PaperEnvelopeC4" | "PaperEnvelopeC6" | "PaperEnvelopeC65" | "PaperEnvelopeB4" | "PaperEnvelopeB5" | "PaperEnvelopeB6" | "PaperEnvelopeItaly" | "PaperEnvelopeMonarch" | "PaperEnvelopePersonal" | "PaperFanfoldUS" | "PaperFanfoldStdGerman" | "PaperFanfoldLegalGerman" | "PaperISOB4" | "PaperJapanesePostcard" | "Paper9x11" | "Paper10x11" | "Paper15x11" | "PaperEnvelopeInvite" | "PaperLetterExtra" | "PaperLegalExtra" | "PaperTabloidExtra" | "PaperA4Extra" | "PaperLetterTransverse" | "PaperA4Transverse" | "PaperLetterExtraTransverse" | "PaperSuperA" | "PaperSuperB" | "PaperLetterPlus" | "PaperA4Plus" | "PaperA5Transverse" | "PaperJISB5Transverse" | "PaperA3Extra" | "PaperA5Extra" | "PaperISOB5Extra" | "PaperA2" | "PaperA3Transverse" | "PaperA3ExtraTransverse" | "PaperJapaneseDoublePostcard" | "PaperA6" | "PaperJapaneseEnvelopeKaku2" | "PaperJapaneseEnvelopeKaku3" | "PaperJapaneseEnvelopeChou3" | "PaperJapaneseEnvelopeChou4" | "PaperLetterRotated" | "PaperA3Rotated" | "PaperA4Rotated" | "PaperA5Rotated" | "PaperJISB4Rotated" | "PaperJISB5Rotated" | "PaperJapanesePostcardRotated" | "PaperJapaneseDoublePostcardRotated" | "PaperA6Rotated" | "PaperJapaneseEnvelopeKaku2Rotated" | "PaperJapaneseEnvelopeKaku3Rotated" | "PaperJapaneseEnvelopeChou3Rotated" | "PaperJapaneseEnvelopeChou4Rotated" | "PaperJISB6" | "PaperJISB6Rotated" | "Paper12x11" | "PaperJapaneseEnvelopeYou4" | "PaperJapaneseEnvelopeYou4Rotated" | "PaperPRC16K" | "PaperPRC32K" | "PaperPRCBig32K" | "PaperPRCEnvelope1" | "PaperPRCEnvelope2" | "PaperPRCEnvelope3" | "PaperPRCEnvelope4" | "PaperPRCEnvelope5" | "PaperPRCEnvelope6" | "PaperPRCEnvelope7" | "PaperPRCEnvelope8" | "PaperPRCEnvelope9" | "PaperPRCEnvelope10" | "PaperPRC16KRotated" | "PaperPRC32KRotated" | "PaperPRCBig32KRotated" | "PaperPRCEnvelope1Rotated" | "PaperPRCEnvelope2Rotated" | "PaperPRCEnvelope3Rotated" | "PaperPRCEnvelope4Rotated" | "PaperPRCEnvelope5Rotated" | "PaperPRCEnvelope6Rotated" | "PaperPRCEnvelope7Rotated" | "PaperPRCEnvelope8Rotated" | "PaperPRCEnvelope9Rotated" | "PaperPRCEnvelope10Rotated" | "PaperB3" | "PaperBusinessCard"; } class Range extends WebsoftBaseClass { CopyDataTo(str: string): Range; CopyStyleTo(str: string): Range; CopyTo(str: string): Range; CopyValueTo(str: string): Range; } class Row extends WebsoftBaseClass { Height: number; } class Rows extends WebsoftBaseClass { GetRow(index: number): Row; } class Style extends WebsoftBaseClass { /** * Границы ячейки. */ Borders: Borders; /** * Свой шаблон формата данных ячейки. */ Custom: string; /** * Цвет шрифта. */ FontColor: string; /** * Название шрифта. */ FontName: string; /** * Размер шрифта. */ FontSize: number; /** * Цвет заливки. */ ForegroundColor: string; /** * Выравнивание по горизонтали. Принимает значения "Left", "Right", "Center", "Justify". */ HorizontalAlignment: "Left" | "Right" | "Center" | "Justify"; /** * Ширность шрифта. */ IsBold: boolean; /** * Курсив. */ IsItalic: boolean; /** * Автоперенос текста. */ IsTextWrapped: boolean; /** * Номер стиля и формата в таблице. * Описание: http://www.aspose.com/docs/display/cellsnet/Setting+Display+Formats+of+Numbers+and+Dates. */ Number: number; /** * Выравнивание по вертикали. Принимает значения "Top", "Bottom", "Center". */ VerticalAlignment: "Top" | "Bottom" | "Center"; } /** * Лист книги Excel. */ class Worksheet extends WebsoftBaseClass { /** * Свойство для управления ячейками листа. */ Cells: Cells; /** * Наборы графиков. */ Charts: Websoft.Office.Excel.Charts.ChartsCollection; /** * Название листа. */ Name: string; /** * Параметры страницы. */ PageSetup: PageSetup; /** * Набор изображений листа. */ Pictures: Websoft.Office.Excel.Drawing.Pictures; /** * Создает новый набор графиков. * @deprecated * @param chartType - Тип графика. * @param left - Позиция по горизонтали. * @param top - Позиция по вертикали. * @param width - Ширинf. * @param height - Высота. */ AddChart( chartType: string, left: number, top: number, width: number, height: number ): Websoft.Office.Excel.Charts.Chart; /** * Получает ячейку по указанному расположению * (устаревшее, вместо данной функции нужно использовать Cells.GetCell()). * @param cellName - Расположение. */ GetCell(cellName: string): Cell; } namespace Charts { class Axis extends WebsoftBaseClass { /** * Область. */ readonly Area: Websoft.Office.Excel.Drawing.Area; /** * Положение вертикальной оси между делениями. */ AxisBetweenCategories: boolean; /** * Линия. */ readonly AxisLine: Websoft.Office.Excel.Drawing.Line; /** * Номер категории пересечения вертикальной оси. */ CrossAtt: number; /** * Тип пересечения вертикальной оси. Принимает значения "Automatic", "Maximum", "Custom". */ CrossType: "Automatic" | "Maximum" | "Custom"; /** * Основные деления. */ MajorUnit: number; /** * Максимальное значение. */ MaxValue: Object; /** * Промежуточные деления. */ MinorUnit: number; /** * Минимальное значение. */ MinValue: Object; /** * Положение подписей. Принимает значения "High", "Low", "NextToAxis", "None". */ TickLabelPosition: "High" | "Low" | "NextToAxis" | "None"; /** * Подписи к координатам. */ readonly TickLabels: TickLabels; /** * Заголовок оси. */ readonly Title: Websoft.Office.Excel.Charts.Title; } class Chart extends WebsoftBaseClass { /** * @deprecated * Цвет фона. * Рекомендуется использовать поля ChartArea.Area.BackgroundColor и PlotArea.Area.BackgroundColor. */ BackgroundColor: string; /** * Ось X. */ readonly CategoryAxis: Axis; /** * Данные категории (оси X для некоторых графиков). * Может устанавливаться в виде диапазона ячеек ("A1:B4") или набора данных ("{10,40,80}"). * Важно! Этот параметр должен выставляться после добавления всех необходимых графиков к набору. */ CategoryData: string; /** * Область диаграммы. */ readonly ChartArea: ChartArea; /** * Таблица с данными. */ readonly ChartDataTable: ChartDataTable; /** * Цвет фона области графика. */ GridBackgroundColor: string; /** * Расположение легенды. Принимает значения "Top", "Left", "Right", "Bottom". */ LegendPosition: "Top" | "Left" | "Right" | "Botton"; /** * Область построения. */ readonly PlotArea: PlotArea; /** * Показывать линии категории. */ ShowCategoryGriglines: boolean; /** * Показывать таблицу с данными. */ ShowDataTable: boolean; /** * Показывать легенду. */ ShowLegend: boolean; /** * Показывать линии значений. */ ShowValuesGriglines: boolean; /** * Заголовок. */ readonly Title: Title; /** * Ось Y. */ readonly ValueAxis: Axis; /** * Добавляет график. * @param chartType - Тип графика. * @param source - Источник данных. * @param isVertical - Следует ли строить график из диапазона значений ячеек по строкам или по столбцам. */ AddSeries( chartType: string, source: string, isVertical: boolean ): Series; /** * Возвращает данные картинки в формате Base64. * @param imageFormat - Формат изображения (png, jpg и т.д.). */ GetImageInBase64String(imageFormat: string): string; /** * Сохраняет набор графиков в виде изображения. * Формат изображения определяется по расширению в имени файла. */ ToImage(path: string): 1 | 0; } class ChartArea extends WebsoftBaseClass { /** * Область. */ readonly Area: Websoft.Office.Excel.Drawing.Area; /** * Граница. */ readonly Border: Websoft.Office.Excel.Drawing.Line; /** * Высота. */ Height: number; /** * Ширина. */ Width: number; } class ChartDataTable extends WebsoftBaseClass { /** * Показывать горизонтальные границы. */ HasBorderHorizontal: boolean; /** * Показывать внешние границы. */ HasBorderOutline: boolean; /** * Показывать вертикальные границы. */ HasBorderVertical: boolean; /** * Показывать значения легенды. */ ShowLegendKey: boolean; } class ChartsCollection extends WebsoftBaseClass { /** * Количество наборов графиков в документе. */ readonly Count: number; /** * Создает новый набор графиков. * @param chartType - Тип графика. * @param upperLeftRow - Номер левой верхней строки. * @param upperLeftColumn - Номер левой верхней колонки. * @param lowerRightRow - Номер нижней правой строки. * @param lowerRightColumn - Номер нижней правой колонки. */ Add( chartType: string, upperLeftRow: number, upperLeftColumn: number, lowerRightRow: number, lowerRightColumn: number ): Chart; /** * Создает новый набор графиков. * @param chartType - Тип графика. * @param left - Позиция по горизонтали. * @param top - Позиция по вертикали. * @param width - Ширина. * @param height - Высота. */ AddFloatingChart( chartType: string, left: number, top: number, width: number, height: number ): Chart; } class DataLabels extends WebsoftBaseClass { /** * Шрифт подписей значений. */ readonly Font: Font; /** * Формат данных. Например, "0.00%" для указания значения в процентах. */ NumberFormat: string; /** * Расположение. Разные значения доступны для разных типов графиков. */ Position: "Center" | "InsideBase" | "OutsideEnd" | "Above" | "Below" | "Left" | "Right" | "BestFit" | "Moved"; /** * Показывать название. */ ShowSeriesName: boolean; /** * Показывать значение. */ ShowValue: boolean; } class PlotArea extends WebsoftBaseClass { /** * Область. */ readonly Area: Websoft.Office.Excel.Drawing.Area; /** * Граница. */ readonly Border: Websoft.Office.Excel.Drawing.Line; /** * Высота. */ Height: number; /** * Ширина. */ Width: number; } class Series extends WebsoftBaseClass { /** * Область. */ readonly Area: Websoft.Office.Excel.Drawing.Area; /** * Граница. */ readonly Border: Websoft.Office.Excel.Drawing.Line; /** * Линии графика. */ readonly DataLabels: DataLabels; /** * @deprecated * Цвет графика. Устаревшее. Рекомендуется использовать {@link Area.ForegroundColor}. */ ForegroundColor: string; /** * Название графика. */ Name: string; /** * Использовать сглаживание графика (только для линейного типа). */ Smooth: boolean; /** * Значения по оси X. */ XValues: string; /** * Добавляет линию тренда. * @param type - Тип линии тренда. */ AddTrendLine(type: string): Trendline; } class TickLabels extends WebsoftBaseClass { /** * Шрифт подписей. */ readonly Font: Font; /** * Формат данных. Например, "0.00%" для указания значения в процентах. */ NumberFormat: string; /** * Угол поворота. */ RotationAngle: number; /** * Направление текста. Принимает значения "Context", "LeftToRight", "RightToLeft". */ TextDirection: "Context" | "LeftToRight" | "RightToLeft"; } class Title extends WebsoftBaseClass { /** * Размер текста заголовка. */ FontSize: number; /** * Является ли заголовок жирным. */ IsBold: boolean; /** * Видимость заголовка. */ IsVisible: boolean; /** * Угол поворота. */ RotationAngle: number; /** * Текст заголовка. */ Text: string; } class Trendline extends WebsoftBaseClass { /** * Прогноз назад (количество периодов). */ Backward: number; /** * Цвет линии. */ Color: string; /** * Показывать уравнение на диаграмме. */ DisplayEquation: boolean; /** * Поместить на диаграмму величину достоверности аппроксимации (R^2). */ DisplayRSquared: boolean; /** * Прогноз вперед (количество периодов). */ Forward: number; /** * Название графика. */ Name: string; /** * Толщина линии в point. */ WeightPt: number; /** * Толщина линии в пикселях. */ WeightPx: number; } } namespace Drawing { class Area extends WebsoftBaseClass { /** * Цвет фона. */ BackgroundColor: string; /** * Стиль заливки заливки. */ readonly FillFormat: FillFormat; /** * Цвет заливки. */ ForegroundColor: string; /** * Прозрачность. Принимает значения от 0.0 до 1.0. */ Transparency: number; } class FillFormat extends WebsoftBaseClass { /** * Цвет заливки 1. */ readonly GradientColor1: string; /** * Цвет заливки 2. */ readonly GradientColor2: string; /** * Угол градиента. */ readonly GradientDegree: number; /** * Стиль градиента. */ GradientStyle: "DiagonalDown" | "DiagonalUp" | "FromCenter" | "FromCorner" | "Horizontal" | "Vertical" | "Unknown"; /** * Тип заливки. */ Type: string; /** * Устанавливает градиентную заливку с одним цветом. * @param color - Цвет. * @param degree - Угол. * @param style - Стиль градиента. * @param variant - Вариации градиента. */ SetOneColorGradient( color: string, degree: number, style: "FromCorner", variant: 1 | 2 ): 1 | 0; /** * Устанавливает градиентную заливку с одним цветом. * @param color - Цвет. * @param degree - Угол. * @param style - Стиль градиента. * @param variant - Вариации градиента. */ SetOneColorGradient( color: string, degree: number, style: "DiagonalDown" | "DiagonalUp" | "FromCorner" | "Horizontal" | "Vertical" | "Unknown", variant: 1 | 2 | 3 | 4 ): 1 | 0; /** * Устанавливает градиентную заливку с двумя цветами. * @param color1 - Первый цвет. * @param transparency1 - Прозрачность первого цвета. * @param color2 - Второй цвет. * @param transparency2 - Прозрачность второго цвета. * @param style - Стиль градиента. * @param variant - Вариации градиента. */ SetTwoColorGradient( color1: string, transparency1: number, color2: string, transparency2: number, style: "FromCenter", variant: 1 | 2 ): 1 | 0; /** * Устанавливает градиентную заливку с двумя цветами. * @param color1 - Первый цвет. * @param transparency1 - Прозрачность первого цвета. * @param color2 - Второй цвет. * @param transparency2 - Прозрачность второго цвета. * @param style - Стиль градиента. * @param variant - Вариации градиента. */ SetTwoColorGradient( color1: string, transparency1: number, color2: string, transparency2: number, style: "DiagonalDown" | "DiagonalUp" | "FromCorner" | "Horizontal" | "Vertical" | "Unknown", variant: 1 | 2 | 3 | 4 ): 1 | 0; } class Line extends WebsoftBaseClass { /** * Цвет. */ Color: string; /** * Видимость. */ IsVisible: boolean; /** * Стиль линии. */ Style: "Solid" | "Dash" | "Dot" | "DashDot" | "DashDotDot" | "DarkGray" | "MediumGray" | "LightGray"; /** * Уровень прозрачности линии. Принимает значение от 0 (непрозрачная) до 1 (полностью прозрачная). */ Transparency: number; /** * Толщина в поинтах. */ WeightPt: number; /** * Толщина в пикселях. */ WeightPx: number; } class Picture extends WebsoftBaseClass { /** * Высота картинки. */ Height: number; /** * Ширина картинки. */ Width: number; /** * Возвращает данные картинки в формате Base64. * @param imageFormat - Формат изображения (png, jpg и т.д.). */ GetBase64String(imageFormat: string): string; /** * Сохраняет изображение по указанному пути. * @param filePath - Путь сохранения. */ SaveAs(filePath: string): 1 | 0; } class Pictures extends WebsoftBaseClass { /** * Добавляет в документ изображение без привязки размеров к ячейкам. * @param filePath - Путь до файла. * @param upperLeftRow - Номер верхней левой строки. * @param upperLeftColumn - Номер верхней левой колонки. * @param widthScale - Масштабирование по ширине (в процентах). * @param heightScale - Масштабирование по высоте (в процентах). */ AddAbsolute( filePath: string, upperLeftRow: number, upperLeftColumn: number, widthScale: number, heightScale: number ): Picture; /** * Добавляет в документ изображение с привязкой размеров к ячейкам. * @param filePath - Путь до файла. * @param upperLeftRow - Номер верхней левой строки. * @param upperLeftColumn - Номер верхней левой колонки. * @param lowerRightRow - Номер нижней правой строки. * @param lowerRightColumn - Номер нижней правой колонки. */ AddRelative( filePath: string, upperLeftRow: number, upperLeftColumn: number, lowerRightRow: number, lowerRightColumn: number ): Picture; /** * Получает изображение по индексу. * @param index - Индекс в наборе изображений листа. */ Get(index: number): Picture; } } } /** Библиотека для работы с документами в формате PDF. */ namespace Pdf { /** Информация о параграфе. */ class BaseParagraph extends WebsoftBaseClass { } /** Класс для работы с документом в формате PDF */ class Document extends WebsoftBaseClass { /** Параметры страниц документа. Используется только при генерации. */ PageInfo: PageInfo; /** Параметры страниц документа. Используется только при генерации. */ Pages: PageCollection; /** Закрывает документ, освобождает используемые ресурсы. */ Close(): 1 | 0; /** * Сохраняет страницы документа в виде изображений. * @param {string} path - Путь до папки сохранения. * @param {string} format - Формат сохранения ("jpeg","png","optimized"). * @param {number} newWidth - Ширина изображений. * @param {number} maxHeight - Высота изображений. * @param {number} resolution - Разрешение изображений (dpi). * @param {number} quality - Качество в процентах (применяется только для формата jpeg). * @param {boolean} keepProportions - Сохранять пропорции изображений. * @returns {string[]} - Массив имен экспортированных файлов. */ ExportPages( path: string, format: string, newWidth: number, maxHeight: number, resolution: number, quality: number, keepProportions: boolean ): string[]; /** * Используется для получения оглавления из текста документа * @returns {string} - Структура оглавления в виде XML. */ GetContents(): string; /** * Открывает файл в формате PDF. * @param {string} filePath - Путь до файла. * @param {LoadOptions} [loadOptions] - Параметры загрузки. */ Open( filePath: string, loadOptions?: LoadOptions ): 1 | 0; /** * Сохраняет текущий документ. * @param {string} newPath - Путь сохранения, включая имя файла. * @param {SaveOptions} saveOptions - Параметры сохранения файла. */ Save( newPath?: string, saveOptions?: SaveOptions ): 1 | 0; /** * Сохраняет документ по указанному пути. * Формат определяется по расширению имени файла в пути сохранения. * Доступные форматы: DOC, DOC, XPS, XML, SVG, EPUB, HTML, MHTML. * @param {string} newPath - Путь сохранения, включая имя файла. */ SaveAs(newPath: string): 1 | 0; /** * Используется для сохранения в формате HTML с расширенными настройками. * @param {string} newPath - Путь сохранения, включая имя файла. * @param {boolean} useFixedLayout - Фиксированное или "резиновое" расположение элементов. * @param {boolean} splitIntoPages - Разбивать документ на страницы. */ SaveAsHtml(newPath: string, useFixedLayout: boolean, splitIntoPages: boolean): 1 | 0; } /** Класс для создания документов в формате PDF. */ class Generator extends WebsoftBaseClass { /** * Альбомная ориентация. */ IsLandscape: boolean; /** * Путь до папки с ресурсами (изображения, стили и т.д.). */ ResourcesDirectoryPath: string; /** * Создает новую страницу и размещает в ней текст в формате HTML. * @param {string} htmlText - Строка с HTML-данными. */ AddHtmlPage(htmlText: string): 1 | 0; /** * Создает новый экзпемпляр документа. */ CreateDocument(): 1 | 0; /** * Загружает данные в формате HTML из указанного файла. * @param {string} filePath - Путь до файла в формате HTML. */ LoadHtmlFile(filePath: string): 1 | 0; /** * Загружает данные в формате HTML из строки. * Стили, изображения и прочие ресурсы должны хранится в указанной папке либо рядом с файлом HTML. * В документе ссылки на эти ресурсы должны быть указаны без учета папок. * Название папки указывается без пути до нее. * @param {string} htmlText - Переменная, содержащаю строку в формате HTML. */ LoadHtmlString(htmlText: string): 1 | 0; /** * Сохраняет документ в формате PDF по указанному пути. * @param {string} filePath - Путь сохранения. */ Save(filePath: string): 1 | 0; } /** Информация о фрагменте HTML. */ class HtmlFragment extends BaseParagraph { } /** Параметры загрузки HTML. */ class HtmlLoadOptions extends WebsoftBaseClass { /** Путь до папки с ресурсами (изображения, стили и т.д.). */ BasePath: string; /** Кодировка. */ InputEncoding: string; /** Информация о странице. */ PageInfo: PageInfo; } /** Параметры сохранения HTML. */ class HtmlSaveOptions extends WebsoftBaseClass { /** * Фиксированный макет. */ FixedLayout: boolean; /** * Файл может содержать растровые изображения. * Этот параметр определяет, как они должны обрабатываться при конвертации PDF в HTML. * Принимает значения "AsPngImagesEmbeddedIntoSvg", "AsExternalPngFilesReferencedViaSvg", "AsEmbeddedPartsOfPngPageBackground". */ RasterImagesSavingMode: string; /** * Разбивать документ на страницы. */ SplitIntoPages: boolean; } /** Параметры загрузки документа. */ class LoadOptions extends WebsoftBaseClass { } /** Информация о странице. */ class Page extends WebsoftBaseClass { /** Горизонтальная ориентация. */ Paragraphs: Paragraphs; }