You can use LEADTOOLS Recognition SDK technology in your application. https://www.leadtools.com/sdk/engine/recognition You can leverage the IOcrEngine interface, which will allow you to convert an image to a searchable PDF. Do note that I am an employee of this toolkit.
DISCLOSURE: I am an employee of the company offering this toolkit.
Here is some sample code:
string input = @"C:\LEADTOOLS21\Resources\Images\ocr1.tif"; string output = @"C:\LEADTOOLS21\Resources\Images\ocr1.PDF"; using (IOcrEngine _ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD)) { // Startup the LEADTOOLS OCR Engine _ocrEngine.Startup(null, null, null, null); //Run the AutoRecognizeManager and specify PDF format _ocrEngine.AutoRecognizeManager.Run(inputFile, outputFile, DocumentFormat.Pdf, null, null); }