UNPKG

@adobe/pdfservices-node-sdk

Version:

The Adobe PDF Services Node.js SDK provides APIs for creating, combining, exporting and manipulating PDFs.

70 lines (69 loc) 2.53 kB
import { PDFServicesJob } from "./PDFServicesJob"; import { Asset } from "../../io/Asset"; import { SplitPDFParams } from "../params/splitpdf/SplitPDFParams"; import { ExecutionContext } from "../../internal/ExecutionContext"; import { NotifierConfig } from "../../config/notifier/NotifierConfig"; /** * A job that splits PDF document into multiple smaller documents by simply specifying either the number of files, * pages per file, or page ranges. * * @example * Sample Usage: * ```js * const readStream = fs.createReadStream("<SOURCE_PATH>"); * * 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 = await pdfServices.upload({ * readStream, * mimeType: MimeType.PDF * }); * * const params = new SplitPDFParams({ * pageCount: 2 * }); * * const job = new SplitPDFJob({inputAsset, params}); * * const pollingURL = await pdfServices.submit({job}); * * const pdfServicesResponse = await pdfServices.getJobResult({ * pollingURL, * resultType: SplitPDFResult * }); * * const resultAssets = pdfServicesResponse.result.assets; * for (const resultAsset of resultAssets) { * const streamAsset = await pdfServices.getContent({asset: resultAsset}); * } * ``` */ export declare class SplitPDFJob extends PDFServicesJob { private readonly _inputAsset; private readonly _splitPDFParams; private readonly _outputAsset?; /** * Constructs a new `SplitPDFJob` instance. * * @param params - The parameters for constructing an instance of `SplitPDFJob`. * @param params.inputAsset The input asset for the job. Cannot be undefined. * @param params.params {@link SplitPDFParams} object containing the parameters for splitting the PDF. * Cannot be undefined. * @param [params.outputAsset] - {@link Asset} object representing the output asset. */ constructor(params: { inputAsset: Asset; params: SplitPDFParams; outputAsset?: Asset; }); /** * @hidden */ process(executionContext: ExecutionContext, notifierConfigList?: NotifierConfig[]): Promise<string>; private generatePDFServicesAPIRequest; }