[R] Doing PDF OCR with R
Duncan Murdoch
murdoch.duncan at gmail.com
Thu Aug 13 12:03:49 CEST 2015
On 13/08/2015 1:29 AM, Jeff Newmiller wrote:
> This code is using R like a command shell... there really is not much chance that R is the problem, and this is not a "tesseract" support forum, so this seems quite off-topic.
I would have guessed the same, but the error message looks like an R
message. But I can see anything very different in the 3rd step compared
to the first, so I don't know what would be going on.
The use of shQuote looks wrong: Anshuk probably doesn't want to quote
the whole command expression, just parts of it that may cause problems.
And the docs do recommend using system2() rather than shell(). But I
don't think either of those things should have caused that error.
Duncan Murdoch
>
> On August 12, 2015 10:05:19 PM PDT, Anshuk Pal Chaudhuri <anshuk.p at motivitylabs.com> wrote:
>> Hi All,
>>
>> I have been trying to do OCR within R (reading PDF data which data as
>> scanned image). Have been reading about this @
>> http://electricarchaeology.ca/2014/07/15/doing-ocr-within-r/
>>
>> This a very good post.
>>
>> Effectively 3 steps:
>>
>> convert pdf to ppm (an image format)
>> convert ppm to tif ready for tesseract (using ImageMagick for convert)
>> convert tif to text file
>> The effective code for the above 3 steps as per the link post:
>>
>> lapply(myfiles, function(i){
>> # convert pdf to ppm (an image format), just pages 1-10 of the PDF
>> # but you can change that easily, just remove or edit the
>> # -f 1 -l 10 bit in the line below
>> shell(shQuote(paste0("F:/xpdf/bin64/pdftoppm.exe ", i, " -f 1 -l 10 -r
>> 600 ocrbook")))
>> # convert ppm to tif ready for tesseract
>> shell(shQuote(paste0("F:/ImageMagick-6.9.1-Q16/convert.exe *.ppm ", i,
>> ".tif")))
>> # convert tif to text file
>> shell(shQuote(paste0("F:/Tesseract-OCR/tesseract.exe ", i, ".tif ", i,
>> " -l eng")))
>> # delete tif file
>> file.remove(paste0(i, ".tif" ))
>> })
>> The first two steps are happening fine. (although taking good amount of
>> time, for 4 pages of a pdf, but will look into the scalability part
>> later, first trying if this works or not)
>>
>> While running this, the first two steps work fine.
>>
>> While runinng the 3rd step, i.e
>>
>> **shell(shQuote(paste0("F:/Tesseract-OCR/tesseract.exe ", i, ".tif ",
>> i, " -l eng")))**
>> I having this error:
>>
>> Error: evaluation nested too deeply: infinite recursion /
>> options(expressions=)?
>>
>> Or
>>
>> Tesseract is crashing.
>>
>> Any workaround or root cause analysis would be appreciated.
>>
>> Regards,
>> Anshuk Pal Chaudhuri
>>
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list