@ironsoftware/ironpdf
Version:
IronPDF for Node
63 lines (59 loc) • 1.63 kB
text/typescript
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();
}
}
);
}
);
}