UNPKG

capacitor-plugin-scanbot-sdk

Version:

Scanbot Document and Barcode Scanner SDK for Capacitor

181 lines (170 loc) 6.71 kB
/// Auto-generated with ScanbotSDKCodegenV3. Modifications will be overwritten. /// Generated from core/schemas/PDFConfigurationTypes.yaml import { PartiallyConstructible } from '../utils/utils'; /** PDF attributes. */ export class PdfAttributes extends PartiallyConstructible { /** @param source {@displayType `DeepPartial<PdfAttributes>`} */ constructor(source = {}) { super(); /** Author. Default is "Created with Scanbot SDK" */ this.author = 'Created with Scanbot SDK'; /** Creator. Default is "" */ this.creator = ''; /** Title. Default is "" */ this.title = ''; /** Subject. Default is "" */ this.subject = ''; /** Keywords. Default is "" */ this.keywords = ''; if (source.author !== undefined) { this.author = source.author; } if (source.creator !== undefined) { this.creator = source.creator; } if (source.title !== undefined) { this.title = source.title; } if (source.subject !== undefined) { this.subject = source.subject; } if (source.keywords !== undefined) { this.keywords = source.keywords; } } } export const PageSizeValues = [ 'LETTER', 'LEGAL', 'A3', 'A4', 'A5', 'B4', 'B5', 'EXECUTIVE', 'US4x6', 'US4x8', 'US5x7', 'COMM10', 'CUSTOM', ]; export const PageDirectionValues = ['PORTRAIT', 'LANDSCAPE', 'AUTO']; export const PageFitValues = ['FIT_IN', 'FILL_IN', 'STRETCH', 'NONE']; export const ResamplingMethodValues = ['NONE', 'NEAREST', 'LINEAR', 'CUBIC', 'LANCZOS4', 'AREA']; /** The parameters `pageSize`, `pageFit`, `dpi` and `resamplingMethod` interact in a complex way when adding bitmap images (JPEG, PNG, or raw) to the PDF. There are three cases to consider: 1. `pageSize` is `CUSTOM`: in this case `dpi` is used as the conversion ratio to calculate both the physical page and image sizes in inches from the bitmap dimensions. `resamplingMethod` is ignored. 2. `pageSize` is not `CUSTOM` AND `pageFit` is `NONE`: in this case `dpi` is used as the conversion ratio to calculate only the physical image size in inches from the bitmap dimensions. The image is centered onto the page. `resamplingMethod` is ignored. 3. `pageSize` is not `CUSTOM` AND `pageFit` is not `NONE`: in this case the page has a pre-determined physical size and we want to stretch the image to fit the page in one of the ways described by `pageFit`. The image DPI is automatically calculated for each image from the given physical page size, page fit setting and image dimensions. There are two sub-cases to consider: a. `resamplingMethod` is NONE OR the calculated DPI is less than or equal to `dpi`: in this case the image is added to the PDF without resampling, which means that the image rectangle is simply rescaled to fit into the page as specified by `pageFit` and `pageSize`. b. `resamplingMethod` is not NONE AND the calculated DPI is greater than `dpi`: in this case the bitmap of the image is resampled to match `dpi` using the selected method before adding it to the PDF. This will result in a bitmap that is smaller than the original image and hence, the resulting PDF will be smaller in size. */ export class PdfConfiguration extends PartiallyConstructible { /** @param source {@displayType `DeepPartial<PdfConfiguration>`} */ constructor(source = {}) { super(); /** Attributes. */ this.attributes = new PdfAttributes({}); /** Physical size of the page. If CUSTOM, the page size will be set as the image size at given dpi. Default is A4 */ this.pageSize = 'A4'; /** Page direction. Default is PORTRAIT */ this.pageDirection = 'PORTRAIT'; /** How to fit the image into the page. Only used if `pageSize` is not `CUSTOM`. The image can either be stretched to fill the page, in one of three ways, or centered on the page without stretching. Default is FIT_IN */ this.pageFit = 'FIT_IN'; /** The `dpi` parameter has two different meanings depending on the value of `pageSize` and `pageFit`. If pageSize is CUSTOM or pageFit is NONE, then `dpi` is the conversion ratio used to convert from units of pixels to physical inches when adding bitmap images (JPEG, PNG, or raw) to the PDF. Otherwise, if `resamplingMethod` is not NONE, then the image is downscaled if necessary (if the image after being fit to the page has a higher calculated DPI than `dpi`) to match `dpi` before adding it to the PDF. Otherwise, the setting is ignored and the calculated image DPI is used instead. Default is 72 */ this.dpi = 72; /** JPEG quality for images. Applies if an image is added as a cv::Mat and therefore needs to be encoded. Also applies if `resamplingMethod` not NONE and the image being added needs to be downscaled. Otherwise, when adding JPEG files to the PDF, the files are copied directly into the PDF and not re-encoded, which is many times faster and also preserves the quality of the original. Default is 80 */ this.jpegQuality = 80; /** Resampling method. Default is NONE */ this.resamplingMethod = 'NONE'; if (source.attributes !== undefined) { this.attributes = new PdfAttributes(source.attributes); } if (source.pageSize !== undefined) { this.pageSize = source.pageSize; } if (source.pageDirection !== undefined) { this.pageDirection = source.pageDirection; } if (source.pageFit !== undefined) { this.pageFit = source.pageFit; } if (source.dpi !== undefined) { this.dpi = source.dpi; } if (source.jpegQuality !== undefined) { this.jpegQuality = source.jpegQuality; } if (source.resamplingMethod !== undefined) { this.resamplingMethod = source.resamplingMethod; } } } //# sourceMappingURL=PdfConfigurationTypes.js.map