James R. Barlow
ee5223eea8
Travis again: are invalid correlation measurements a use-after-free?
...
Try explicitly casting the value to a float.
2016-02-16 06:09:48 -08:00
James R. Barlow
71e493a810
Fix case of JPEG missing DPI field
2016-02-16 05:29:32 -08:00
James R. Barlow
d70ce61cfd
Travis: maybe it's just the missing __init__.py?
2016-02-16 05:09:12 -08:00
James R. Barlow
8cd84afac8
Revert "Try moving leptonica build script, playing with wheels a bit"
...
This reverts commit ec2c6c312b .
2016-02-16 05:04:20 -08:00
James R. Barlow
ec2c6c312b
Try moving leptonica build script, playing with wheels a bit
2016-02-16 04:05:58 -08:00
James R. Barlow
c50e3f1329
Complain about older tesseracts that don't have sharp2.ttf installed
2016-02-15 16:43:41 -08:00
James R. Barlow
7c691c21ab
Fix image layer rotation for pages with nonzero crop boxes
2016-02-10 17:48:33 -08:00
James R. Barlow
4ec51729d8
Partial fix for images not anchored to (0, 0)
2016-02-10 17:14:48 -08:00
James R. Barlow
07b41e479a
Cleaner access to mediabox
2016-02-09 02:19:05 -08:00
James R. Barlow
6510bcad19
DPI information not transferred automatically from PNG to JPEG
2016-02-09 02:18:54 -08:00
James R. Barlow
1928a64cae
Better logging output for autorotation
2016-02-08 23:42:25 -08:00
James R. Barlow
11e575a5a3
leptonica: suppress debug output
2016-02-08 23:41:45 -08:00
James R. Barlow
7fbc0d6460
tesseract: unify logging function
2016-02-08 23:40:36 -08:00
James R. Barlow
1ba8b1aa4b
unpaper is lousy at deskewing, so let leptonica do it
2016-02-08 15:26:33 -08:00
James R. Barlow
4ceb59215f
Leptonica: classes are better
2016-02-08 15:14:44 -08:00
James R. Barlow
2e6879ee51
Introduce Leptonica class for Pix
2016-02-08 14:52:01 -08:00
James R. Barlow
66fc2e9d7d
Add rotate 180 correlation sanity check
2016-02-08 13:10:11 -08:00
James R. Barlow
78c3bf5dba
Check autorotate using leptonica correlation
2016-02-08 12:55:50 -08:00
James R. Barlow
2752bda80b
Merge branch 'feature/leptdeskew' into feature/logging
...
Need leptonica for testing now, I think
# Conflicts:
# ocrmypdf/tesseract.py
# requirements.txt
# setup.py
2016-02-08 12:34:48 -08:00
James R. Barlow
7c0940609a
Take a stab at writing test case for autorotate
2016-02-08 12:32:39 -08:00
James R. Barlow
d30a879e2d
Fix test suite by running select_image_for_pdf unconditionally
...
The purpose of this change that caused the problem was a minor
optimization for the tesseract renderer path that had it pull an image
from select_image_for_pdf so that it could use a JPEG instead of PNG,
instead of taking it from preprocess_clean where it would only get a PNG
and make large files.
2016-02-08 02:33:03 -08:00
James R. Barlow
b0114c9174
More logging improvements
2016-02-08 01:31:15 -08:00
James R. Barlow
d2ba8c501f
Restore invisibletext for normal output
2016-02-08 01:14:39 -08:00
James R. Barlow
6a7ed7d359
Make logging output a lot more useful
2016-02-08 00:58:14 -08:00
James R. Barlow
6289afa1a6
Better: custom logging factory to avoid whatever ruffus is doing
2016-02-08 00:18:52 -08:00
James R. Barlow
9bb6fa04cb
Return logging to a semblance of normalcy
2016-02-08 00:09:31 -08:00
James R. Barlow
afb6f6f5c9
Render preview as .jpg instead of .png
...
Smaller file size of JPEG seems to help performance, although the
difference is only about 1%.
2016-02-07 15:49:10 -08:00
James R. Barlow
8a69671dbd
Suppress debug message
2016-02-07 15:43:57 -08:00
James R. Barlow
178aee4687
Make rotation optional (for now it's off, possibly should be on)
2016-02-07 15:43:45 -08:00
James R. Barlow
8484caddfb
Tweak pipeline, allowing --pdf-renderer to use JPEGs instead of PNGs
2016-02-07 15:36:51 -08:00
James R. Barlow
08313316de
Cleanup auto-rotation
2016-02-07 15:06:54 -08:00
James R. Barlow
1d0eca5c63
All four rotation directions working
2016-02-07 06:09:01 -08:00
James R. Barlow
fe89232a30
Fix autorotate for some lossless cases
2016-02-07 05:59:46 -08:00
James R. Barlow
4b51b521e2
Implement autorotate (provided lossless reconstruction is disabled)
...
Works for a single page file, probably
Although arguably rotation is not quite lossless, and the two could be
mutually exclusive anyway, so maybe this is it. Did not check in some
debugging changes (lossless=False, text debugging=True)
PyPDF seems to get merging wrong when one of the pages is rotated.
2016-02-07 03:27:33 -08:00
James R. Barlow
e9ec458304
tesseract: add command to access OSD values
2016-02-07 03:21:32 -08:00
James R. Barlow
54b0ddd787
ghostscript: don't try to "help" autorotation
...
It uses text direction alone -- unreliable guide.
2016-02-07 03:20:42 -08:00
James R. Barlow
daa3916430
Fix img2pdf 0.2 usage
...
All tests pass when forced to rely on img2pdf, so seems okay
2016-02-05 15:13:26 -08:00
James R. Barlow
e9b87cefcc
Try img2pdf 0.2
2016-02-05 14:38:37 -08:00
James R. Barlow
7e5c37137b
Merge branch 'develop' into release/v3.2
2016-02-04 23:42:06 -08:00
James R. Barlow
4b65e0b093
Set JPEG output quality to 95 for better transcoding
2016-02-04 18:49:09 -08:00
James R. Barlow
9893ebf889
Suppress tesseract argument printout
2016-02-04 17:26:36 -08:00
James R. Barlow
303eb3e93a
Merge commit 'ca546d70e5bff9e9b115371f7813f3c326822bd8' into release/v3.2
2016-02-04 17:25:56 -08:00
Sean Whitton
6a5ea2d64a
fix shebang in hocrtransform.py
2016-02-03 17:48:35 -07:00
James R. Barlow
66a095d7de
Improve organization of CFFI setup
2016-01-30 15:19:40 -08:00
James R. Barlow
411981efbc
Experiment with CFFI instead of ctypes
2016-01-30 15:06:25 -08:00
James R. Barlow
350ad5210e
Leptonica: convert to CFFI
2016-01-20 15:03:07 -08:00
James R. Barlow
f3b588764e
Suppress tesseract argument printout
2016-01-20 15:02:48 -08:00
James R. Barlow
b49f5a7d77
Support optionally using leptonica to deskew
...
unpaper doesn't seem to be good at deskewing. It fails on test case
with a lot of italics. I think it also struggles on pages with a lot
of whitespace. Leptonica continues to shine here.
However, this is only a first crack at Leptonica. The leptonica module
should be redone to use cffi (more extensible).
Also considering the possibility of making all Lept calls in a forked
process to insulate the calling process from C code crashes and the
messy redirect of stdout/stderr to read Leptonica's errors.
I don't think the redirect is a huge problem as long as multiprocesses
rather than multithreads are used. The ruffus child process that is
handling a page is single threaded and will not be affected by the
redirection. It just feels dirty. The main reason to consider a child
process is crash isolation.
2016-01-19 17:43:40 -08:00
James R. Barlow
37c508f3f8
Better versioning: no silly version files, but wrong ver in development
...
Small price to pay.
2016-01-19 16:07:52 -08:00
James R. Barlow
26e36422cc
More fiddling with version
2016-01-19 15:07:21 -08:00