62

Is there any freeware OCR software (for Linux and/or Windows) that can take a PDF scanned document as input and output a Searchable PDF like Adobe Acrobat does?

With searchable PDF I meant that the OCRed text is invisible over the original text and can be selected with the mouse and copied.

I know that gscan2pdf on Linux can do something like this, but the text is placed in the top left corner of the page and is way too small, not at all synchronized with the text on the background scanned page. This because gscan2pdf feeds the whole page to an OCR engine. It should decompose the image in small images with single lines of text or small paragraphs to send to OCR software.

  • What language do you want to OCR? English? French? Japanese? – Nicolas Raoul Apr 21 '14 at 9:26
  • Romanian and English. Tesseract can do that but I can't embed the text into PDF. – Cornelius Apr 21 '14 at 9:27
  • 1
    Lios should do that, but I don't have any personal experience with the soft. – VicAche Apr 22 '14 at 19:47
  • @VicAche I have tried Lios with Tesseract but it crashes when exporting to PDF. Interface looks like OCR Feeder but more complex. Anyway, thanks for your suggestion. Never heard about Lios before. – Cornelius Apr 22 '14 at 20:09
  • 1
    @Cornelius it is FLOSS, you might want to report the bugs you encounter. – VicAche Apr 23 '14 at 18:32

10 Answers 10

17

A tool that lets you do that is PDF-XChange Viewer. The free version will allow you to OCR your document in a variety of languages (you can download additional language packs for free) and add the OCR'd text as an overlay text layer you can copy from and search with CTRL+F.

  • fast PDF viewer with a lot of features
  • fast OCR engine (unless you choose the best accuracy)
  • a lot of options have the PRO icon next to them (available only on the Pro version) but you can hide them
  • color management and custom screen DPI settings
  • Windows only application, which doesn't seem to work on Wine (the viewer works, but the OCR function makes it crash)

What it doesn't:

  • the OCR doesn't take advantage of multiple cores
  • OCR doesn't detect character styles (bold, italic) or the copy function loses them
  • it doesn't use correct Romanian diacritics, but than can be fixed if you copy text in an editor and do a search and replace:

enter image description here

enter image description here

  • 1
    Good software. I updated your answer with my experience with it so far. – Cornelius Jun 30 '14 at 16:45
  • It actually works with Wine 1.5.28... Not other versions. Luckily, PlayOnLinux allows you to use multiple Wine versions. – Andrea Lazzarotto Aug 21 '16 at 12:44
  • @AndreaLazzarotto for me it worked flawlessly in Wine 1.8. – Cornelius Dec 15 '16 at 9:25
  • 1
    @Cornelius, you are right. I recently tried the new version of PDF Xchange Viewer with Wine 1.9 and now it seems to work. But it didn't in the past, I guess they also updated the program and it's not just due to a better Wine. – Andrea Lazzarotto Dec 15 '16 at 9:27
  • 2
    The viewer has been discontinued, but can still be downloaded via tracker-software.com/product/pdf-xchange-viewer/… – Tobias Kienzler Dec 7 '17 at 12:39
14

Try pdfsandwich. From the man-page:

pdfsandwich generates "sandwich" OCR pdf files, i.e. pdf files which contain only images (no text) will be processed by optical character recognition (OCR) and the text will be added to each page invisibly "behind" the images.

pdfsandwich is a command line utility. If you have a scanned pdf file, for instance this one: alice.pdf (which is the first chapter of a novel you might have heard of), invoke pdfsandwich like this:

pdfsandwich alice.pdf

This will generate a file alice_ocr.pdf which looks like the orginal file, but the recognized text will be placed behind the scanned images. You can make full text searches now or select text areas.

Another option might be OCRmyPDF.

11

The newer version of Tesseract (3.03 RC at the time of writing this) can do this:

  • free, opensource and cross-plarform
  • starting from version 3.03 PDF output is available
  • CLI software
  • multiple languages support
  • unfortunately, single image input, so to make a complete document, one must create a batch script to convert each page image to searchable PDF. After that PDF pages should be combined to a single PDF using tools like pdftk.

This is the command:

tesseract -l <lang> input.tif output pdf
  • 2
    Note that in order to use this approach, the input PDF has to be rasterized first, since tesseract will not get PDF as input. – yms Sep 28 '16 at 20:58
7

pypdfocr is what worked for me. It is a Python script streamlining the whole Tesseract usage. After getting dependencies installed (on Linux it's a much simpler process) it's as simple as typing:

pypdfocr myfile.pdf

And opening myfile_ocr.pdf a while later.

3

I use Microsoft OneNote as OCR tool. On Right click against an image It can copy the entire text in images and It also has the capability to search text with in image. It is free and accurate and runs on windows and support almost all image formats.

It can also search through PDF files, and Images in PDF files.

Bonus point is that it supports multiple languages :) English, French, Spanish also

3

https://www.microsoft.com/en-us/store/p/leadtools-ocr/9wzdncrdr0d5 is a small simple WinRT app (runs fine on Win10 as well) that does nothing more than take an image or pdf and output a sandwich PDF or text. It's kinda ugly and has absolutely no configuration, but it does this one small task perfectly.

3

You can get searchable text using Google Drive.

First, choose a key setting. Under "general" in your Google Drive settings, check the box next "Convert uploads: Convert uploaded files to Google Docs editor format."

Now upload the pdf to your Google Drive (click "new", then "file upload"). When the upload is complete (might take a minute or two), right click it. (If you have trouble finding it, try hitting "Recent" in the left-hand sidebar.) As I was saying, right-click the pdf you uploaded, and choose "Open with... Google Docs". Now you will have searchable text.

1

While the other answers on this thread focus on desktop software, I've had a lot of success with this webservice: http://www.searchablepdfs.org/

It allows you to upload a PDF of a scanned document, and it generates a "sandwich PDF" with embedded OCR text that you can copy/paste.

Pros:

  • Fast
  • High quality OCR text recognition (the results I've gotten have been at least as good as what I've been able to get from using tesseract, which Cornelius mentioned)
  • Cross-platform (it's a web application so you don't need to install any software yourself)
  • Free

Cons:

  • Only supports English documents
  • Only processes up to 10 pages per file
1

Another option is pdf2pdfocr (https://github.com/LeoFCardoso/pdf2pdfocr) that is based on Tesseract-OCR and can run natively on Windows, MacOS and Linux operating systems.

Disclaimer: I'm the pdf2pdfocr developer.

1

Two more options:

1) Online: www.sandwichpdf.com

2) Desktop (multiple OSes): NAPS2 - https://www.naps2.com/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.