Method ConvertDirectoryAsync
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
inputDirectorystringDirectory containing source PDF files.
ocrEngineOcrEngineThe OCR engine to use for text recognition.
outputDirectorystringDirectory where searchable PDFs will be written.
searchPatternstringFile search pattern. Default:
"*.pdf".includeSubdirectoriesboolWhen
true, PDF files in subdirectories are also processed and the subdirectory structure is replicated in the output. Default:false.optionsPdfSearchableMakerOptionsOptional configuration applied to every file. When
null, Default is used.cancellationTokenCancellationTokenToken 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, oroutputDirectoryisnull.- DirectoryNotFoundException
inputDirectorydoes not exist.