diff --git a/docs/code_samples/v2_classification.txt b/docs/code_samples/v2_classification.txt index 4e16a17b..e18e32b9 100644 --- a/docs/code_samples/v2_classification.txt +++ b/docs/code_samples/v2_classification.txt @@ -21,7 +21,7 @@ const inputSource = new mindee.PathInput({ inputPath: filePath }); // Send for processing const response = await mindeeClient.enqueueAndGetResult( - mindee.v2.product.Classification, + mindee.product.Classification, inputSource, params, ); diff --git a/docs/code_samples/v2_crop.txt b/docs/code_samples/v2_crop.txt index 1f4b2c4b..4180c246 100644 --- a/docs/code_samples/v2_crop.txt +++ b/docs/code_samples/v2_crop.txt @@ -21,7 +21,7 @@ const inputSource = new mindee.PathInput({ inputPath: filePath }); // Send for processing const response = await mindeeClient.enqueueAndGetResult( - mindee.v2.product.Crop, + mindee.product.Crop, inputSource, params, ); diff --git a/docs/code_samples/v2_extraction.txt b/docs/code_samples/v2_extraction.txt index caba4b9b..2e4cd51e 100644 --- a/docs/code_samples/v2_extraction.txt +++ b/docs/code_samples/v2_extraction.txt @@ -33,7 +33,7 @@ const inputSource = new mindee.PathInput({ inputPath: filePath }); // Send for processing const response = await mindeeClient.enqueueAndGetResult( - mindee.v2.product.Extraction, + mindee.product.Extraction, inputSource, params, ); diff --git a/docs/code_samples/v2_ocr.txt b/docs/code_samples/v2_ocr.txt index 5399665e..b8a029be 100644 --- a/docs/code_samples/v2_ocr.txt +++ b/docs/code_samples/v2_ocr.txt @@ -21,7 +21,7 @@ const inputSource = new mindee.PathInput({ inputPath: filePath }); // Send for processing const response = await mindeeClient.enqueueAndGetResult( - mindee.v2.product.Ocr, + mindee.product.Ocr, inputSource, params, ); diff --git a/docs/code_samples/v2_split.txt b/docs/code_samples/v2_split.txt index 1cc964bd..3b318160 100644 --- a/docs/code_samples/v2_split.txt +++ b/docs/code_samples/v2_split.txt @@ -21,7 +21,7 @@ const inputSource = new mindee.PathInput({ inputPath: filePath }); // Send for processing const response = await mindeeClient.enqueueAndGetResult( - mindee.v2.product.Split, + mindee.product.Split, inputSource, params, ); diff --git a/src/image/imageExtractor.ts b/src/image/imageExtractor.ts index b6d9d3a3..f8ba56fd 100644 --- a/src/image/imageExtractor.ts +++ b/src/image/imageExtractor.ts @@ -9,7 +9,9 @@ let pdfLib: typeof pdfLibTypes | null = null; async function getPdfLib(): Promise { if (!pdfLib) { - const pdfLibImport = await loadOptionalDependency("@cantoo/pdf-lib", "Text Embedding"); + const pdfLibImport = await loadOptionalDependency( + "@cantoo/pdf-lib", "Text Embedding" + ); pdfLib = (pdfLibImport as any).default || pdfLibImport; } return pdfLib!; @@ -23,7 +25,8 @@ async function getPdfLib(): Promise { */ export async function extractFromPage( pdfPage: pdfLibTypes.PDFPage, - polygons: Polygon[]) { + polygons: Polygon[] +) { const pdfLib = await getPdfLib(); const { width, height } = pdfPage.getSize(); const extractedElements :Uint8Array[] = []; diff --git a/src/index.ts b/src/index.ts index f39c7949..b3bb980d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,3 +1,4 @@ +// Core export { InputSource, Base64Input, @@ -10,16 +11,19 @@ export { } from "./input/index.js"; export type { PageOptions } from "./input/index.js"; export * as image from "./image/index.js"; +export * as pdf from "./pdf/index.js"; +export * as geometry from "./geometry/index.js"; // V1 export * as v1 from "./v1/index.js"; // V2 export * as v2 from "./v2/index.js"; + +// Consider v2 the default +export * as product from "./v2/product/index.js"; export { Client, - InferenceFile, - InferenceModel, JobResponse, ErrorResponse, } from "./v2/index.js"; diff --git a/src/pdf/pdfCompressor.ts b/src/pdf/pdfCompressor.ts index 645cd629..ba13791f 100644 --- a/src/pdf/pdfCompressor.ts +++ b/src/pdf/pdfCompressor.ts @@ -151,8 +151,9 @@ async function compressPagesWithQuality( for (let i = 0; i < extractedPdfInfo.pages.length; i++) { const page = pdfDoc.getPages()[i]; const rasterizedPage = await rasterizePage(pdfData, i + 1, imageQuality); - const compressedImage = await compressImage(Buffer.from(rasterizedPage, "binary"), imageQuality); - + const compressedImage = await compressImage( + Buffer.from(rasterizedPage, "binary"), imageQuality + ); if (!disableSourceText) { await addTextToPdfPage(page, extractedText); } @@ -183,7 +184,9 @@ function calculateTotalCompressedSize(compressedPages: Buffer[]): number { * @param imageQuality Compression quality. * @returns True if compression was successful, false otherwise. */ -function isCompressionSuccessful(totalCompressedSize: number, originalSize: number, imageQuality: number): boolean { +function isCompressionSuccessful( + totalCompressedSize: number, originalSize: number, imageQuality: number +): boolean { const overhead = lerp(0.54, 0.18, imageQuality / 100); return totalCompressedSize + totalCompressedSize * overhead < originalSize; } @@ -255,9 +258,12 @@ async function getFontFromName(fontName: string): Promise { * @param index Index of the page to rasterize. * @param quality Quality to apply during rasterization. */ -async function rasterizePage(pdfData: Buffer, index: number, quality = 85): Promise { - - const popplerImport = await loadOptionalDependency("node-poppler", "Image Processing"); +async function rasterizePage( + pdfData: Buffer, index: number, quality = 85 +): Promise { + const popplerImport = await loadOptionalDependency( + "node-poppler", "Image Processing" + ); const poppler = (popplerImport as any).default || popplerImport; const popplerInstance = new poppler.Poppler(); const tmpPdf = tmp.fileSync(); diff --git a/src/v2/index.ts b/src/v2/index.ts index 384491f1..90fc52b2 100644 --- a/src/v2/index.ts +++ b/src/v2/index.ts @@ -1,12 +1,10 @@ export * as http from "./http/index.js"; export * as parsing from "./parsing/index.js"; export * as product from "./product/index.js"; -export { LocalResponse } from "./parsing/localResponse.js"; export { Client } from "./client.js"; export { - InferenceFile, - InferenceModel, JobResponse, ErrorResponse, + LocalResponse, } from "./parsing/index.js"; -export type { PollingOptions } from "./client/index.js"; +export type { PollingOptions, BaseParameters } from "./client/index.js"; diff --git a/src/v2/parsing/inference/baseInference.ts b/src/v2/parsing/inference/baseInference.ts index e0d2c538..9c9cac40 100644 --- a/src/v2/parsing/inference/baseInference.ts +++ b/src/v2/parsing/inference/baseInference.ts @@ -1,5 +1,5 @@ import { InferenceModel } from "./inferenceModel.js"; -import { InferenceFile } from "@/v2/index.js"; +import { InferenceFile } from "./inferenceFile.js"; import { StringDict } from "@/parsing/index.js"; export abstract class BaseInference {