jlsutherland / doc2text

Detect text blocks and OCR poorly scanned PDFs in bulk. Python module available via pip.
MIT License
1.27k stars 98 forks source link

it'd be nice if this could produce text-overlaid PDFs #10

Open jbothma opened 8 years ago

jbothma commented 8 years ago

tesseract seems to be able to produce PDFs these days with text overlaid on the image. This is useful for searching int he PDF when viewing that way.

It'd be nice if this could produce nice de-skewed PDFs

jlsutherland commented 8 years ago

Definitely. I think it would relatively straightforward to integrate. Would suggest building the text insertion into the Page class and then put a export_to_pdf() method on the Document class.

jlsutherland commented 8 years ago

Would you be interested in contributing @jbothma ?

jbothma commented 8 years ago

Yup - would love to. Won't get to it before next week but will start a PR when I can :)

It's part of the ocr command as an optional output format so not sure what the right place would be to integrate it with doc2text.

jlsutherland commented 8 years ago

Awesome, thank you!

The method's location in the code would be conditional on the way tesseract embeds that data. Does tesseract insert the data into a PDF, or it in a separate state that contains the text and placement information?

In the first case, we would need the method you mentioned that produces a nicely optimized pdf from the images first, then the embedding second. We need this method regardless, I think. In the second case, we could run the tesseract embed method at any time after we produce the fixed image crop.

Thoughts?

jbothma commented 8 years ago

So this is basically what I was talking about.

wget http://mfma.treasury.gov.za/MFMA/Urban%20Development%20Zones/Gazette%20No.%2026866.pdf
gs -dNOPAUSE -q -r500 -sDEVICE=tiffg4 -dBATCH -sOutputFile=test.tif  Gazette\ No.\ 26866.pdf
tesseract test.tif outbase pdf

produces https://www.scribd.com/document/324084564/Out-Base

jbothma commented 8 years ago

Tesseract produces the PDF already, so you'd select that as the output format of the OCR step. There's no intermediate hOCR or anything.