import { Asset } from "../../io/Asset"; import { PDFWatermarkParams } from "../params/pdfwatermark/PDFWatermarkParams"; import { PDFServicesJob } from "./PDFServicesJob"; import { ExecutionContext } from "../../internal/ExecutionContext"; import { NotifierConfig } from "../../config/notifier/NotifierConfig"; /** * A job that add a watermark on specified pages of PDF document using a source watermark PDF. The first page of source * watermark PDF will be added as a watermark in input PDF document. * * @example * Sample Usage: * ```js * const sourceFileReadStream = fs.createReadStream(""); * const waterMarkFileReadStream = fs.createReadStream(""); * * const credentials = new ServicePrincipalCredentials({ * clientId: process.env.PDF_SERVICES_CLIENT_ID, * clientSecret: process.env.PDF_SERVICES_CLIENT_SECRET * }); * * const pdfServices = new PDFServices({credentials}); * * const [inputAsset, watermarkAsset] = await pdfServices.uploadAssets({ * streamAssets: [{ * readStream: sourceFileReadStream, * mimeType: MimeType.PDF * }, { * readStream: waterMarkFileReadStream, * mimeType: MimeType.PDF * }] * }); * * const pageRangesForWatermark = new PageRanges().addSinglePage(1); * * const watermarkAppearance = new WatermarkAppearance({ * appearOnForeground: false, * opacity: 50, * }); * * const pdfWatermarkParams = new PDFWatermarkParams({ * watermarkAppearance: watermarkAppearance, * pageRanges: pageRangesForWatermark * }) * * const job = new PDFWatermarkJob({ * inputAsset: inputAsset, * watermarkAsset: watermarkAsset, * params: pdfWatermarkParams * }); * * const pollingURL = await pdfServices.submit({job}); * * const pdfServicesResponse = await pdfServices.getJobResult({ * pollingURL, * resultType: PDFWatermarkResult * }); * * const resultAsset = pdfServicesResponse.result.asset; * const streamAsset = await pdfServices.getContent({asset: resultAsset}); * ``` */ export declare class PDFWatermarkJob extends PDFServicesJob { private readonly _inputAsset; private readonly _watermarkAsset; private readonly _params?; private readonly _outputAsset?; /** * Constructs a new `PDFWatermarkJob` instance. * * @param params The parameters for constructing an instance of `PDFWatermarkJob`. * @param params.inputAsset The input asset of PDF document on which watermark has to be applied. * Cannot be undefined. * @param params.watermarkAsset The input asset of PDF document whose first page will be used as watermark. * Cannot be undefined. * @param [params.params] {@link PDFWatermarkParams} object containing the parameters for PDF watermark. * @param [params.outputAsset] {@link Asset} object representing the output asset. * @remarks External assets can be set as output only when input is external asset as well. */ constructor(params: { inputAsset: Asset; watermarkAsset: Asset; params?: PDFWatermarkParams; outputAsset?: Asset; }); /** * @hidden */ process(executionContext: ExecutionContext, notifierConfigList?: NotifierConfig[]): Promise; private generatePDFServicesAPIRequest; }