James R. Barlow
4bf13f4737
optimize: be less chatty
2018-04-17 23:25:41 -07:00
James R. Barlow
9e89b75186
Merge v6.1.5
2018-04-17 22:51:13 -07:00
James R. Barlow
0b10db91be
Fix regression: Disable Ghostscript JPEG passthrough entirely
2018-04-17 17:00:24 -07:00
James R. Barlow
1a516b2af9
Fix regression: time stamp test suite failures
2018-04-17 16:59:21 -07:00
James R. Barlow
076363d78e
Disable JPEG passthrough for Ghostscript 9.23
...
Seems to corrupt JPEGs involved in image masks?
2018-04-17 16:31:03 -07:00
James R. Barlow
a620724d6a
Fix PDF/A validation failure due to timezone being omitted from /ModDate
2018-04-17 15:16:48 -07:00
James R. Barlow
640b953ec7
Fix PDF/A validation failure due to timezone being omitted from /ModDate
2018-04-17 14:55:32 -07:00
James R. Barlow
a009ca7597
Disable JPEG passthrough for Ghostscript 9.23
...
Seems to corrupt JPEGs involved in image masks?
2018-04-17 13:54:34 -07:00
James R. Barlow
c974aec934
Search for image masks too
2018-04-17 02:06:08 -07:00
James R. Barlow
3033f03f64
Iterate images with pikepdf / fix mono PNG corruption
...
To work around PNG corruption problem in PyMuPDF for monochrome images,
extract and save monochrome CCITT with synthetic TIFF header.
Works better but currently skips /ImageMask due to qpdf
implementation, which affects many files.
2018-04-17 01:50:37 -07:00
James R. Barlow
72723e0bb5
optimize: be quieter
2018-04-16 18:06:02 -07:00
James R. Barlow
2fb6ab3939
Trap writePNG error
2018-04-16 17:29:10 -07:00
James R. Barlow
25c1c160b8
Move optimize to new file
2018-04-16 17:22:06 -07:00
James R. Barlow
7e92895471
Parallelize pngquant
2018-04-16 12:37:51 -07:00
James R. Barlow
d291d48991
PNG palette: parse PDF string from leptonica instead
...
Seems better to accept whatever leptonica rather than make detailed
assumptions about how it encodes the palette.
Experimented with setting FlateDecode on the palette but it seems to
expand it.
2018-04-16 12:16:13 -07:00
James R. Barlow
0e6b8042b0
Implement PNG palettization
2018-04-16 11:18:52 -07:00
James R. Barlow
2482296e2b
hocr: avoid division by zero
...
Issue #253 - PDF that produces the error is not available, but if font_width
is zero, chances are the text is nonprinting characters, so suppress it.
2018-04-14 17:24:21 -07:00
James R. Barlow
f755fb76ee
Try pngquant
2018-04-14 01:37:14 -07:00
James R. Barlow
c61b5dcb62
Fix PDF/A validation error from setting /Predictor 0
2018-04-14 01:36:46 -07:00
James R. Barlow
fae893b9d9
Reinstate transcoding of PNG
2018-04-14 00:19:24 -07:00
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