///
///
import { PdfDocument } from "./pdfDocument";
export * from "./affix";
export * from "./image";
export * from "./ironpdfglobalconfig";
export * from "./page";
export * from "./paper";
export * from "./signature";
export * from "./stamp";
export * from "./render";
export * from "./security";
export * from "./naturalLanguages";
/**
* Horizontal layout alignment relative to the PDF page.
*/
export declare enum HorizontalAlignment {
Left = 0,
Center = 1,
Right = 2
}
/**
* Vertical layout alignment relative to the PDF page.
*/
export declare enum VerticalAlignment {
Top = 0,
Middle = 1,
Bottom = 2
}
/**
* Defines which style-sheet should be rendered. 'Print' or 'Screen'. This matches the CSS3 Media
* Queries standard.
*/
export declare enum CssMediaType {
/**
* Renders as expected for a web browser.
*/
Print = 0,
/**
* Ignores 'Print' styles and includes additional 'Screen' styles where available.
*/
Screen = 1
}
/**
* Behaviors when fitting HTML content to a physical paper size
* Can affect zoom level and css layout
*/
export declare enum FitToPaperModes {
/**
* Do nothing.
* Default Chrome PDF printing behavior. Uses {@link ChromePdfRenderOptions.zoom} to specify zoom level.
* {@link ChromePdfRenderOptions.viewPortWidth} has no effect.
*
* Instead, Chrome will automatically set the view port based on {@link ChromePdfRenderOptions.paperSize}.
* Use {@link ChromePdfRenderOptions.cssMediaType} to specify CSS media style.
*
* Useful when using {@link ChromePdfRenderOptions.cssMediaType.Print} CSS media style or printing documents to match the Chrome browser print preview.
*/
Default = 0,
/**
* Fit an exact number of pixels onto each PDF page.
* Uses {@link ChromePdfRenderOptions.viewPortWidth} to specify the pixel width to fit on each PDF page.
* {@link ChromePdfRenderOptions.zoom} has no effect. Instead, IronPdf will calculate the zoom level based on
* {@link ChromePdfRenderOptions.viewPortWidth} and {@link ChromePdfRenderOptions.paperSize}
*
* Useful when an optimal pixel width is known or printing documents to match a Chrome browser window display
*/
FitToWidth = 1,
/**
* Measures minimum HTML content width after it is rendered by the browser and calculates {@link ChromePdfRenderOptions.zoom}
* based on the width of the content.
* {@link ChromePdfRenderOptions.zoom} and {@link ChromePdfRenderOptions.viewPortWidth} have no effect and are calculated automatically by IronPdf.
*
* Useful when fitting a wide content or content of unknown width onto a PDF page
*/
FitToHeight = 2,
/**
* Measures minimum HTML content width after it is rendered by the browser using the smallest view port possible, and calculates
* {@link ChromePdfRenderOptions.zoom} based on the width of the content.
* Use {@link ChromePdfRenderOptions.viewPortWidth} to specify the minimum number of pixels to be fit on each PDF page.
* {@link ChromePdfRenderOptions.zoom} has no effect and is calculated automatically by IronPdf.
*
* Useful when fitting smaller content onto a wide page
*/
FitToPage = 3,
/**
* Creates a single page PDF which will force its entire content's width and height to fit into one page.
* Can be used for a consumer bill or receipt.
*
* Useful when printing bill or receipt
*/
ContinuousFeed = 4
}
/**
* Specifies which HTML heading tags should be converted into
* a Table of Contents when rendering HTML to PDF.
*/
export declare enum TableOfContentsTypes {
None = 0,
Basic = 1,
WithPageNumbers = 2
}
/**
* A PageSelection is a collection of pages from a PDF document.
* PageSelection can be used to perform operations on a subset of pages from a PDF document.<
* See {@link PdfDocument}
*
* @Default undefined or "all" which mean all pages
*/
export type PdfPageSelection = number | number[] | "all" | undefined;
/**
* The unit of measurement used for positioning and sizing.
*/
export declare enum MeasurementUnit {
Percentage = 0,
Millimeter = 1,
Inch = 2,
Centimeter = 3,
Pixel = 4,
Points = 5
}
/**
* PDF saving options see {@link PdfDocument.saveAs}
*/
export interface SaveOptions {
/**
* Sets user password and enables 128Bit encryption of PDF content.
* A user password is a password that each user must enter to open or print the PDF document.
*
* @default undefined
*/
userPassword?: string | undefined;
/**
* Sets owner password and enables 128Bit encryption of PDF content. An owner password is one
* used to enable and disable all other security settings.
* OwnerPassword must be set to a non-empty string value for {@link PdfDocument.setPermission},
*
* @default undefined
*/
ownerPassword?: string | undefined;
/**
* Convert the current document into the specified PDF-A standard format
*
* @default false
*/
saveAsPdfA?: boolean | undefined;
/**
* Signs the PDF with digital signature with advanced options.
* Note that the PDF will not be fully signed until Saved using {@link PdfDocument.saveAs}
*
* @default undefined
*/
/**
* Saves the PDF as byte array with changes appended to the end of the file.
*
* @default false
*/
incremental?: boolean | undefined;
}
/**
* A length value with {@link MeasurementUnit}
* Allows use and interchange of units such as inches, mm, pt, percentages, pixels and points when editing a PDF.
*/
export interface Length {
value: number;
/**
* {@link MeasurementUnit}
*/
unit: MeasurementUnit;
}
/**
* Stores the location and size of a rectangular region. (in Pixel)
*/
export interface CropRectangle {
/**
* Image horizontal position x
*/
x?: number | undefined;
/**
* Image vertical position y
*/
y?: number | undefined;
/**
* Image width
*/
width?: number | undefined;
/**
* Image width
*/
height?: number | undefined;
}
/**
* The margin configuration. see {@link ChromePdfRenderOptions.margin}
*/
export interface MarginConfig {
/**
* Default margin for all side, apply when the specific margin for each side was not specify
*/
default?: number | undefined;
/**
* Top margin
*/
top?: number | undefined;
/**
* Right margin
*/
right?: number | undefined;
/**
* Bottom margin
*/
bottom?: number | undefined;
/**
* Left margin
*/
left?: number | undefined;
}
/**
* A union type that wrap all supported type that can converted to PdfDocument.
*
* Including: {@link PdfDocument} {@link Buffer} {@link HtmlString} {@link HtmlFilePath} {@link ZipFilePath} {@link PdfFilePath} {@link URL} {@link UrlString}
*/
export type PdfInput = PdfDocument | Buffer | HtmlString | HtmlFilePath | ZipFilePath | PdfFilePath | URL | UrlString;
/**
* A string that pointed to .pdf file path
*/
export type PdfFilePath = string;
/**
* A string that pointed to .zip file path
*/
export type ZipFilePath = string;
/**
* A string that hold raw HTML string
*/
export type HtmlString = string;
/**
* A string that pointed to .html or .htm file path
*/
export type HtmlFilePath = string;
/**
* A string that pointed to website URL
*/
export type UrlString = string;
/**
* A string that pointed to the image file path
*/
export type ImageFilePath = string;
/**
* An image binary object
*/
export type ImageBuffer = Buffer;
/**
* A flag that only apply the specific side of margin
*/
export declare enum UseMargins {
None = 0,
Top = 1,
Bottom = 2,
Left = 4,
Right = 8,
TopAndBottom = 3,
LeftAndRight = 12,
All = 15
}
/**
* A PDF password including user-password and owner-password
*/
export type PdfPassword = {
userPassword?: string | undefined;
ownerPassword?: string | undefined;
};
/**
* Union type representing different Chrome GPU modes.
* - Disabled": Disable GPU hardware utilization
* - Software": Enable software acceleration
* - Hardware": Enable hardware acceleration
* - HardwareFull": Enable hardware acceleration with Vulkan features
*/
export declare enum ChromeGpuModes {
Disabled = "Disabled",
Software = "Software",
Hardware = "Hardware",
HardwareFull = "HardwareFull"
}
export declare enum ChangeTrackingModes {
AutoChangeTracking = 0,
EnableChangeTracking = 1,
DisableChangeTracking = 2
}
//# sourceMappingURL=types.d.ts.map