UNPKG

@ironsoftware/ironpdf

Version:

IronPDF for Node

63 lines (59 loc) 1.63 kB
import {ServiceError} from "@grpc/grpc-js"; import {IronPdfServiceClient} from "../../generated_proto/ironpdfengineproto/IronPdfService"; import {Access} from "../../access"; import {EmptyResultP__Output} from "../../generated_proto/ironpdfengineproto/EmptyResultP"; import {handleEmptyResultP__Output} from "../util"; export async function compressImage( id: string, imageQuality: number, scaleToVisibleSize = false ): Promise<void> { const client: IronPdfServiceClient = await Access.ensureConnection(); return new Promise( (resolve: () => void, reject: (errorMsg: string) => void) => { client.Pdfium_Compress_CompressImages( { document: {documentId: id}, scaleToVisibleSize: scaleToVisibleSize, quality: imageQuality, }, ( err: ServiceError | null, value: EmptyResultP__Output | undefined ) => { if (err) { reject(`${err.name}/n${err.message}`); } else if (value) { handleEmptyResultP__Output(value, reject); resolve(); } } ); } ); } export async function compressStructTree( id: string ): Promise<void> { const client: IronPdfServiceClient = await Access.ensureConnection(); return new Promise( (resolve: () => void, reject: (errorMsg: string) => void) => { client.Pdfium_Compress_RemoveStructTree( { document: {documentId: id} }, ( err: ServiceError | null, value: EmptyResultP__Output | undefined ) => { if (err) { reject(`${err.name}/n${err.message}`); } else if (value) { handleEmptyResultP__Output(value, reject); resolve(); } } ); } ); }