How do I create 'searchable' PDF from scanned PDF images?

Q: Do you guys have any examples that I could look at to create a
searchable PDF? I know you have this on your FAQ:
http://www.pdftron.com/net/faq.html#searchable_images. But I was
looking for a little more if possible (maybe a small sample project of
how to lay the OCR text over the PDF and make the invisible text
searchable.
-------
A: A good starting point would be ElementBuilder sample project:
  http://www.pdftron.com/net/samplecode.html#ElementBuilder

Given OCR text and positioning information (which you should be able
to along with text) you could add hidden text to an existing PDF page
along the following lines:

...
ElementBuilder builder = new ElementBuilder();
ElementWriter writer = new ElementWriter();

// Begin writing to a given page
writer.Begin(page);

// Begin writing a block of text
Element element = eb.CreateTextBegin(Font.Create(doc,
Font.StandardType1Font.e_times_roman), 1);
writer.WriteElement(element);

foreach (txtrun on pagetxt)
  element = eb.CreateTextRun(txtrun);
  
element.GetGState().SetTextRenderMode( GState.TextRenderingMode.e_invisible_text );
                // scale_x is horizontal text width
                // scale_y is vertical text height
                // pos_x, pos_y is text offest (in PDF units, points.
1pt = 1/72 inch).
  element.SetTextMatrix(scale_x, 0, 0, scale_y, pos_x, pos_y);
  writer.WriteElement(element);
}

// Finish the block of text
writer.WriteElement(eb.CreateTextEnd());
writer.End();

doc.Save("out.pdf", 0);
doc.Close();
...

For debugging purposes you can probably comment out the line that sets
'TextRenderMode' so that you can visually check that the text is
placed at correct locations on the page (i.e. it covers the scanned
text underneath). Once everything works properly you can set
'TextRenderMode' to invisible to 'hide' text.