Table of Contents

Method ConvertDirectoryAsync

Namespace
LMKit.Document.Pdf
Assembly
LM-Kit.NET.dll

ConvertDirectoryAsync(string, OcrEngine, string, string, bool, PdfSearchableMakerOptions, CancellationToken)

Makes all PDF files in a directory searchable, writing results to the specified output directory.

public static Task ConvertDirectoryAsync(string inputDirectory, OcrEngine ocrEngine, string outputDirectory, string searchPattern = "*.pdf", bool includeSubdirectories = false, PdfSearchableMakerOptions options = null, CancellationToken cancellationToken = default)

Parameters

inputDirectory string

Directory containing source PDF files.

ocrEngine OcrEngine

The OCR engine to use for text recognition.

outputDirectory string

Directory where searchable PDFs will be written.

searchPattern string

File search pattern. Default: "*.pdf".

includeSubdirectories bool

When true, PDF files in subdirectories are also processed and the subdirectory structure is replicated in the output. Default: false.

options PdfSearchableMakerOptions

Optional configuration applied to every file. When null, Default is used.

cancellationToken CancellationToken

Token to cancel the entire batch.

Returns

Task

A task representing the asynchronous operation.

Examples

var ocr = new LMKitOcr();

// Process all PDFs in a folder, including subfolders
await PdfSearchableMaker.ConvertDirectoryAsync(
    @"C:\scans",
    ocr,
    @"C:\searchable",
    includeSubdirectories: true,
    options: new PdfSearchableMakerOptions { MaxDegreeOfParallelism = 4 });

Exceptions

ArgumentNullException

inputDirectory, ocrEngine, or outputDirectory is null.

DirectoryNotFoundException

inputDirectory does not exist.

Share