James R. Barlow
16b6442b23
Add changes to __main__.py that should have been in last commit
2017-05-10 17:55:42 -07:00
James R. Barlow
183eafa587
Implement sidecar text files ( #126 )
2017-05-10 15:22:44 -07:00
James R. Barlow
47a2997538
Reorganize —help text
2017-05-10 12:19:56 -07:00
James R. Barlow
1606b6a383
Add —quiet ( fixes #143 ), stop using ruffus to partially generate argparser
2017-05-09 17:24:06 -07:00
James R. Barlow
2a61902df5
Merge commit 'c4f01de231d22da5cea02c25aa581a965a37640b'
2017-05-09 16:37:55 -07:00
James R. Barlow
01a1c2b576
Implement —pdfa-image-compression to control Ghostscript’s compression
...
Fixes #163
2017-05-09 16:37:29 -07:00
Ingo Feinerer and jbarlow83
c4f01de231
Fix typo "cutput" -> "output" ( #164 )
...
[ci skip]
2017-05-09 16:22:10 -07:00
James R. Barlow
93e802f473
Fix issue #163 , color and grayscale images JPEG compressed when not needed
2017-05-06 22:27:25 -07:00
James R. Barlow
aa859a4139
Fix #156 - NoneType has no ‘getObject’ for pages with no /Contents
2017-05-01 15:46:15 -07:00
James R. Barlow
b9b12e2879
Ensure that ocrmypdf stops and reports an error if Ghostscript fails
...
Past behavior was to continue and let ruffus puke eventually
2017-05-01 15:44:21 -07:00
James R. Barlow
cf643c9f43
Fix argparse.ArgumentError needs two positional args
2017-05-01 14:55:47 -07:00
James R. Barlow
6c8c1d8173
Fix #154 : KeyError ‘/Contents’ on blank pages with /Contents record
2017-04-28 15:22:05 -07:00
Jakub Wilk and jbarlow83
2846fb4e31
Remove misplaced flags from re.sub() call ( #153 )
...
The 4th argument of re.sub() is maximum number of substitutions,
not flags.
Moreover, re.MULTILINE affects only semantics of ^ and $,
so it wouldn't have any effect on this regular expression.
2017-04-20 00:38:23 -07:00
James R. Barlow
fee22b6b0b
Fix #151 , cannot write mode P as JPEG
...
all(<empty generator>) is True.
2017-04-18 18:08:45 -07:00
Tom and jbarlow83
345256ee99
Fix --skip-big when there are no images in pdf ( #152 )
...
* fixed skip-big when there are no images in pdf
* added only_text pdf
* updated only_text pdf
* Delete only_text.pdf
2017-04-18 15:19:24 -07:00
James R. Barlow
7b7e3a3e03
Enable lossless reconstruction for —pdf-renderer tess4 where appropriate
2017-03-29 23:44:12 -07:00
James R. Barlow
1e7fbd4202
Fix issues with —pdf-renderer tess4 page skipping
...
If tess4 renderer needed to skip OCR on a page it would end up
duplicating the page contents onto the new page, rather than creating
a blank OCR layer and placing it on the output page. This created
duplicated content in output files.
2017-03-29 23:43:26 -07:00
James R. Barlow
4a9e9e9db2
v4.5.3 release notes
2017-03-29 13:19:34 -07:00
James R. Barlow
88ef2718f1
Reject high Unicode metadata at command line
...
Ghostscript 9.21 does not seem to accept Unicode above U+FFFF. Previous
versions did, but it now exits with a rangecheck error (-15).
Reject on the command line for now. Complete fix would also need to
check input PDF’s metadata.
2017-03-28 11:08:38 -07:00
James R. Barlow
e71e8ca3ad
Workaround for GS VMerror -25 bug
...
Avoid inserting docinfo keys that would be translated to null strings,
to avoid running afoul of
https://bugs.ghostscript.com/show_bug.cgi?id=697684
2017-03-28 11:05:43 -07:00
James R. Barlow
45e9257d6e
Don’t use filename “pdfa_def.ps” for GS file
...
At recommendation of Artifex people, don’t use the filename pdfa_def.ps
because if given without a full path Ghostscript will prioritize
searching its own resources over the current directory, and will pick up
the example file pdfa_def.ps instead. We used the full path anyway,
but this is a prudent defensive change to avoid odd Ghostscript behavior.
2017-03-28 11:02:46 -07:00
James R. Barlow
2954e72652
Some examples of Ghostscript and Tesseract warnings/errors were not tagged properly
2017-03-28 10:59:53 -07:00
James R. Barlow
199de96cff
Ghostcript 9.21 seems to have a regression related to Unicode metadata
2017-03-24 15:15:46 -07:00
James R. Barlow
8ddbe81513
Fix issue #147 : unpaper loses DPI information, affects —pdf-renderer tess4
2017-03-24 13:23:03 -07:00
James R. Barlow
a3e26e0498
Make —pdf-renderer tess4 more informative, less FUD
2017-03-24 12:58:40 -07:00
James R. Barlow
f035cb1088
Fixed issue #142 — closed streams raise an exception on fork attempt
2017-03-13 15:52:57 -07:00
James R. Barlow
7cd2770a13
Fix issue #137 - proportions of non-square resolution distorted
...
Distortion mainly affected —force-ocr
2017-02-26 17:13:16 -08:00
James R. Barlow
d1a0065ef8
Create test case for Form XObjects
2017-02-14 12:51:15 -08:00
James R. Barlow
5a817370fd
Warn more strongly about —pdf-renderer tesseract until fix is widely propagated
2017-02-14 11:33:07 -08:00
James R. Barlow
5e14274f10
pageinfo: learn to extract image information from Form XObjects
2017-02-11 16:48:59 -08:00
James R. Barlow
a0657ad937
Prevent use of —pdf-renderer tess4 on tesseract 3
2017-02-06 13:49:43 -08:00
James R. Barlow
8c17c9918e
Add documentation and test cases for —tesseract-config
...
This parameter has existed for along time but never really got any
attention.
2017-01-28 22:06:51 -08:00
James R. Barlow
99afebd033
tesseract jobs_limit(2)
...
At least on macOS with my quadcore performance improves with two
tesseracts in parallel (20% gain). Hard to say how this will affect
Linux, but stepping up to 2 jobs seems justifiable.
2017-01-27 18:13:12 -08:00
James R. Barlow
65e4b1672f
cffi: verbose=True
2017-01-27 14:17:13 -08:00
James R. Barlow
9a15a4db10
Ensure specified destination is writable before starting pipeline process
2017-01-26 22:08:24 -08:00
James R. Barlow
1976dc6f30
Fix issue #121 “pop from empty list” (content stream parsing error)
2017-01-26 17:24:40 -08:00
James R. Barlow
02fba02d31
Refactor test suite to use fixtures to manage paths
2017-01-26 16:38:59 -08:00
James R. Barlow
bad67c6dc5
Rename ‘tesstop’ to ‘tess4’
...
There’s no reason text-only PDF shouldn’t become the default for
tesseract 4.
2017-01-26 12:28:51 -08:00
James R. Barlow
ac40426971
Implement “tesstop” (tesseract v4 text-only pages - working name)
2017-01-20 17:16:01 -08:00
James R. Barlow
7acfaf6d34
pipeline: rename some of the stages, for clarity
2017-01-20 17:15:00 -08:00
James R. Barlow
99e47c9c04
tesseract: add support for using v4 textonly_pdf feature
2017-01-20 17:06:23 -08:00
James R. Barlow
6cc5135d2d
Output to stdout: ensure stdout is flushed to prevent truncation errors
2017-01-19 16:41:10 -08:00
James R. Barlow
d4c72b371f
Forward --oem argument to tesseract 4
2017-01-18 21:37:50 -08:00
James R. Barlow
18b6f05657
Resolve issue #124 - poor performance with Tesseract v4
...
It seems that Tesseract v4 on a platform with OpenMP working correctly
while perform poorly with ocrmypdf because each will also soak up all
available CPUs. Running N^2 processes/threads on a N-core CPU where
each wants 100% of CPU turns out to be detrimental.
So, we restrict ocrmypdf w/tessv4 to a single Tesseract process at a
time, for now. Alternative may be to limit OpenMP threads if throughput
is higher.
2017-01-18 17:52:12 -08:00
James R. Barlow
c42d9baa26
tesseract: for v4, use --psm while keeping -psm for v3
...
At the moment v4 accepts both but who knows if this will get dropped,
so do as document for each version.
2017-01-18 17:43:47 -08:00
James R. Barlow
6e27ecd2b9
Finalize ‘exec’ migration and make it backward compatibility for now
2017-01-18 17:40:50 -08:00
James R. Barlow
f246779b8e
pdfa: documentation, remove from __future__
2016-12-12 15:10:10 -08:00
James R. Barlow
a7d8cdf061
Don’t copy pageinfo - job manager already provides a copy of real pdfinfo
2016-12-12 15:09:41 -08:00
James R. Barlow
620745c812
pipeline: don’t use qpdf to check page count again
...
We already know the number of pages at this stage.
2016-12-12 15:09:11 -08:00
James R. Barlow
b8767e5ba9
Rename exe -> exec, more Unix-y and suggestive
2016-12-10 15:34:00 -08:00