UNPKG

pdf4me

Version:

Provides expert functionality to convert, optimize, compress, produce, merge, split, ocr, enrich, archive, print documents and PDFs.

66 lines (60 loc) 2.29 kB
const httpClient = require('./utils/httpClient') const defaultConfig = require('./config') // clients const convert = require('./clients/convertClient') const convertFromPdf = require('./clients/convertFromPdfClient') const extract = require('./clients/extractClient') const image = require('./clients/imageClient') const merge = require('./clients/mergeClient') const optimize = require('./clients/optimizeClient') const pdfA = require('./clients/pdfAClient') const protect = require('./clients/protectClient') const repair = require('./clients/repairClient') const rotate = require('./clients/rotateClient') const split = require('./clients/splitClient') const stamp = require('./clients/stampClient') const validate = require('./clients/validateClient') const generateDocumentSingle = require('./clients/generateDocumentSingle') module.exports = { createClient: (pdf4meApiKey, configuration) => { if ( typeof pdf4meApiKey !== 'string' || pdf4meApiKey.length < 10 ) { throw new Error('Please provide a valid pdf4me api key') } const config = Object.assign(defaultConfig, configuration) const apiClient = httpClient(pdf4meApiKey, config) convertClient = convert.createClient(apiClient) convertFromPdfClient = convertFromPdf.createClient(apiClient) extractClient = extract.createClient(apiClient) imageClient = image.createClient(apiClient) mergeClient = merge.createClient(apiClient) optimizeClient = optimize.createClient(apiClient) pdfAClient = pdfA.createClient(apiClient) protectClient = protect.createClient(apiClient) repairClient = repair.createClient(apiClient) rotateClient = rotate.createClient(apiClient) splitClient = split.createClient(apiClient) stampClient = stamp.createClient(apiClient) validateClient = validate.createClient(apiClient) generateDocumentSingleClient = generateDocumentSingle.createClient(apiClient) return Object.assign( {}, convertClient, convertFromPdfClient, extractClient, imageClient, mergeClient, optimizeClient, pdfAClient, protectClient, repairClient, rotateClient, splitClient, stampClient, validateClient, generateDocumentSingleClient ) }, }