James R. Barlow
e75b6280fd
Try reading compressed data directly to see if Leptonica will add predictor
...
Turns out it does not transcode at all in this case, so probably going
to revert to transcoding PNG -> PNG. However if pngquant or similar is
done, this API will still be useful.
2018-04-13 23:55:23 -07:00
James R. Barlow
8c4023165a
Release L_COMP_DATA properly
2018-04-13 23:53:41 -07:00
James R. Barlow
b7d403f106
Deprecate Pix.read() behaving as an open function
2018-04-13 23:52:46 -07:00
James R. Barlow
b069de0caa
Use Leptonica to rewrite all PNGs with predictor
...
Leptonica does a better job of encoding them than Ghostscript, about -15%.
For a test file 450k worth of
PNGs was reduced to 388k with no loss of quality.
2018-04-13 16:35:50 -07:00
James R. Barlow
136da74bfa
Update branch with v6.1.4
2018-04-13 12:57:21 -07:00
James R. Barlow
7fc897e6dc
Fix NameError 'ghostscript'
2018-04-12 21:24:05 -07:00
James R. Barlow
9b731d63b8
Set Ghostscript -sColorConversionStrategy the way old/new versions expect
2018-04-12 16:28:48 -07:00
James R. Barlow
10aa59f674
v6.1.4 fix test suite regression with Ghostscript 9.23
2018-04-12 15:16:54 -07:00
James R. Barlow
c95db246d4
v6.1.4 merge
2018-04-11 15:58:00 -07:00
James R. Barlow
f6399eb90f
optimize: use Leptonica to compact JPEGs
...
Pillow could do it too, but Leptonica is somewhat more PDF aware.
2018-04-10 17:45:05 -07:00
James R. Barlow
77f2448e59
Leptonica: add L_COMP_DATA compressed data manager
2018-04-10 17:44:03 -07:00
James R. Barlow
4b6153ad18
Use defusedxml for XML parsing when reading XMP
2018-04-10 14:25:13 -07:00
James R. Barlow
11b6f77df0
unpaper: close images on error paths
2018-04-09 13:05:12 -07:00
James R. Barlow
db8b0319dd
get_version: repeat system error messages if the process exists with a signal
2018-04-09 13:04:51 -07:00
James R. Barlow
c9dd330766
JBIG2: refactor, don't recompress existing JBIG2
2018-04-09 13:04:10 -07:00
James R. Barlow
e40228102c
JBIG2: Streams created in this manner are already indirect objects
2018-04-06 17:11:17 -07:00
James R. Barlow
7889c6fb4c
Parallelize JBIG2 execution with thread pools
2018-04-06 17:00:23 -07:00
James R. Barlow
6eb1773110
Fix JBIG2Globals included multiple times in output
2018-04-06 17:00:03 -07:00
James R. Barlow
1d25823746
Implement functional, single threaded optimize
...
Passes verapdf
2018-04-06 15:49:16 -07:00
James R. Barlow
709c01c7a1
Regroup three merge steps into a single step
...
All take the same inputs and deliver similar outputs, so it makes sense.
2018-04-06 01:07:02 -07:00
James R. Barlow
4a341c9034
Merge branch 'master' into feature/jbig2-2018
2018-04-05 21:29:39 -07:00
James R. Barlow
be41ff6d54
Update flowchart
...
[ci skip]
2018-04-05 21:26:37 -07:00
James R. Barlow
753e6274ab
Tell unpaper to use --layout none so it won't blank out multi column text
2018-04-05 02:14:33 -07:00
James R. Barlow
d8ac6e28ab
Convert monochrome images to JBIG2
...
Awkwardly using fitz and pikepdf, transcode monochrome to CCITT.
This requires _OCRMYPDF_NO_FITZ=1.
00000x.opt.pdf can be checked for JBIG2 to confirm, but this file is
not passed to the output since it's not all wired up yet.
2018-04-03 00:00:53 -07:00
James R. Barlow
a95ffcdc46
Experimental add jbig2
...
It appears that fitz forces conversion of jbig2 to ccitt no matter what,
so pikepdf will be needed to patch jbig2 images.
2018-04-03 00:00:53 -07:00
James R. Barlow
1b01d45dd2
Warn about Python 3.5 page count issue
2018-04-02 19:29:17 -07:00
James R. Barlow
7a1cd39b21
Fix creation date metadata lost from input
...
Closes #247
2018-04-02 17:53:39 -07:00
James R. Barlow
90644a3017
pipeline: refactoring, use with block for images
2018-03-31 13:26:40 -07:00
James R. Barlow
ace439910e
Remove PyMuPDF 1.12.4 shim
2018-03-30 12:33:27 -07:00
James R. Barlow
7f038568de
Add envvar to ease testing without PyMuPDF
2018-03-30 12:32:48 -07:00
James R. Barlow
e0f3f07907
Fix text reported as found on all pages when PyMuPDF is not available
2018-03-30 00:10:53 -07:00
James R. Barlow
b36df9cf9e
pdfa: codecs.encode -> hexlify (simpler)
2018-03-29 22:17:23 -07:00
James R. Barlow
527f4d0101
Workaround fitz not escaping parentheses
...
Closes #239
2018-03-28 23:23:34 -07:00
James R. Barlow
40ef4f0bbe
Add new argument --skip-repair to skip the repair step
2018-03-28 00:54:58 -07:00
James R. Barlow
d0271d5049
More debug messages on repair; update notes
2018-03-28 00:39:38 -07:00
James R. Barlow
5becfcf8ea
Refactor fitz ImportError trap
2018-03-27 21:38:02 -07:00
James R. Barlow
112e8d6c18
Fix regression: PDF/A broken without fitz
2018-03-27 21:33:10 -07:00
James R. Barlow
1d8d49a01d
Add PyMuPDF to preamble
2018-03-27 21:32:38 -07:00
James R. Barlow
5050155685
Add warning for large file size increases
2018-03-27 15:49:16 -07:00
James R. Barlow
6a4df78bc0
Add _naive_find_text to search for text when fitz is not available
2018-03-27 13:36:17 -07:00
James R. Barlow
3e444f6a90
Make fitz optional
2018-03-26 13:22:09 -07:00
James R. Barlow
45dbff6401
Fix table of contents not preserved in PDF/A
2018-03-26 02:23:19 -07:00
James R. Barlow
746969207a
Remove deprecated --pdf-renderer tess4, which was renamed to sandwich
...
Should have been cut in v6.0.0
2018-03-26 01:17:22 -07:00
James R. Barlow
1caebaefb5
tesseract: Fix FileExistsError on if output file was created at timeout
2018-03-25 21:38:20 -07:00
James R. Barlow
a2f499de01
Remove pageinfo.py which release notes said was gone for v6
2018-03-25 12:16:56 -07:00
James R. Barlow
f4bca89722
Remove Tesseract 4 message
2018-03-25 12:16:31 -07:00
James R. Barlow
af085b79dd
Move ocrmypdf to src/ocrmypdf
2018-03-24 23:59:08 -07:00
Jim Barlow
9adb0d696f
Prepare for Python packaging - move to ocrmypdf folder
2015-07-25 18:22:04 -07:00
Jim Barlow
7b255b575a
Metadata override from command lien
2015-07-25 18:12:25 -07:00
Jim Barlow
d7a9f3a2ab
Transfer Unicode document information from input PDF to output PDF
...
What a pain getting Unicode right, but there it is.
I cannot find anything to confirm that it is acceptable to put the PDF/A
definition file at the end of the Ghostscript inputs. I did this because
Ghostscript seems to copy document info from the last document on the
list so reportlab's information "wins" in normal order, so it fixes that
issue, and reportlab 'helpfully' fills in all of those fields even if it
does not have information.
It could also work to pass document information along to reportlab, and
set it in each output PDF: .debug.pdf, .rendered.pdf, and .page.pdf to
ensure that whatever page is last in the pipeline has the right
information. Or perhaps it's possible to write a Postscript trailer that
overwrites any previous docinfo with no side effects, but I can't find
any information on how to do that. I don't think it's worth pursuing
unless this arrangement causes some problem with PDF/A generation.
On a minor note, Jhove misreads the way I have encoded the strings in
producing its validation log. It reads them as UTF-16 little endian, so
will tend to produce a string of Asian characters in place of the real
data.
2015-07-25 18:05:25 -07:00