Martin Wind
2fa43ecf09
refactor: split argparse and run_pipline
2019-03-26 08:10:20 +01:00
James R. Barlow
1b4542aa77
Further fixes to external program version testing
2019-03-07 14:27:16 -08:00
James R. Barlow
902bda43e3
main: fix version testing unnecessarily throwing exception to itself
2019-03-05 22:32:06 -08:00
James R. Barlow
f7da63f68b
main: fix redundant argument test
2019-03-05 22:29:29 -08:00
James R. Barlow
5da26e4c9c
Convert most uses of subprocess.Popen to subprocess.run in test suite
2019-03-05 22:25:22 -08:00
James R. Barlow
c19c852705
Fix exception while attempting to print error message for missing program
2019-03-05 16:32:48 -08:00
James R. Barlow
a27ee3ee8c
optimize: use Decode to invert 1bpp PNGs for now
2019-03-03 17:50:12 -08:00
James R. Barlow
974979b0a0
Merge branch 'feature/optimization-fixes'
2019-03-03 15:00:20 -08:00
James R. Barlow
66586bdaab
optimize: Disable jpg->png migration
...
Needs more testing before release
2019-03-03 14:59:59 -08:00
James R. Barlow
01d2ea309f
Fix Predictor name and photometric flip
2019-03-03 14:57:15 -08:00
James R. Barlow
52fd84fa95
Remove debug message
2019-03-03 13:31:10 -08:00
James R. Barlow
4f69ace868
optimize: fix all JBIG2 images binned on last page
...
During some past refactor it appears we now end up treating
all JBIG2 images as if they appeared on the last page in the
file. This bug had no visual side ffects but probably led to
suboptimal JBIG2 encoding.
2019-03-03 03:28:17 -08:00
James R. Barlow
497c531112
optimize: update comments
2019-03-03 03:28:17 -08:00
James R. Barlow
b27b92fbf3
optimize: on aggressive settings try JPG to PNG transcoding
...
If the color count of an image is low such as when black and white
documents are scanned in color, PNG with lossy quantization may
produce a superior encoding to JPEG. This is expensive to test however.
2019-03-03 03:28:17 -08:00
James R. Barlow
2e6ba2df8c
optimize: fix recoding of PNGs
...
Previously we opened pngquant-compressed PNGs with transcoding
because the transcode free function in Leptonica didn't seem to
work. This mean Leptonica may have thrown away the hard of
pngquant if didn't understand the encoding.
This change resolves the issue and allows us to open PNG encoded
data and insert it into a PDF without transcoding. Should improve
encoding quality.
2019-03-03 03:28:17 -08:00
James R. Barlow
67a405c6b7
Move install-time external program checks out of setup.py
...
We did runtime tests for several of them anyway, and it's better to do
at runtime since config may change after installation.
2019-03-03 03:26:56 -08:00
James R. Barlow
0bf26b03ae
optimize: Modernize pikepdf usage
2019-02-16 14:03:10 -08:00
James R. Barlow
19e35db2b7
Fix issue when weave handoff occurs with no OCR font present
...
If using --tesseract-timeout 0 and any image processing on a file with
more than 100 pages, the weave handoff will occur. Ensure this
works correctly even if no Glyphless font is present.
Closes #347
2019-02-10 02:05:59 -08:00
James R. Barlow
df688742d5
Fix exception on traversing corrupt ToC entries
2019-02-10 00:50:21 -08:00
James R. Barlow
03ab5a8ee2
If --tesseract-timeout 0, say nothing when we time out
...
This is our "don't actually OCR" mode. No need to mention it.
2019-02-08 13:04:48 -08:00
James R. Barlow
4f06920224
Be os.nice()-r
2019-02-07 17:24:47 -08:00
James R. Barlow
5483dacf52
Fuzz
2019-02-07 17:09:47 -08:00
James R. Barlow
ae7844ad88
--clean-final implies --clean
...
It's never made sense to leave it out before; might as well introduce it.
2019-02-07 17:08:08 -08:00
James R. Barlow
f095e91cb4
unpaper-args: add test case and harden feature
2019-02-07 16:21:02 -08:00
James R. Barlow
9a4493f211
Add --unpaper-args
...
Needs test code and stricter validation
2019-01-18 05:33:28 -08:00
James R. Barlow
e3a58219d1
Ensure XObjects with no subtype don't cause an exception
...
Closes #325
2019-01-08 16:46:08 -08:00
James R. Barlow
f34b3015b2
Prevent Ghostscript from generating invalid XMP metadata
...
If DocumentInfo contains NULs Ghostscript will generate XMP with
NULs which is not allowed. Repair DocumentInfo before Ghostscript sees it.
2019-01-04 13:20:41 -08:00
James R. Barlow
7d330afd81
Delinting
2019-01-02 13:34:45 -08:00
James R. Barlow
c771938907
Convert to f-strings where it makes sense
2018-12-31 15:01:19 -08:00
James R. Barlow
8c0009c5c8
Make pdfminer.six optional
...
Mainly since the current release of pdfminer.six lacks a sdist, blocking
homebrew packaging. Also in case other distros don't accept pdfminer.six.
2018-12-31 01:08:43 -08:00
James R. Barlow
cfc5cdf47d
pdfa: remove a pile of deprecated code
...
It's now handled in pikepdf.
2018-12-31 00:05:13 -08:00
James R. Barlow
05152a8af9
Remove always-false Tess v3 tests
2018-12-30 02:01:05 -08:00
James R. Barlow
0880b16491
Sort imports with isort
2018-12-30 01:28:15 -08:00
James R. Barlow
06308a22ce
Reformat with black
2018-12-30 01:27:49 -08:00
James R. Barlow
8b90c45437
Drop support for Tesseract 3
2018-12-30 00:47:12 -08:00
James R. Barlow
72b920eb16
Drop support for Python 3.5
2018-12-30 00:23:26 -08:00
James R. Barlow
b4a51907d6
Detect when metadata is dropped during PDF/A conversion
2018-12-30 00:13:25 -08:00
James R. Barlow
1ca1221432
leptonica.py: Fix exception on certain types of barcode failures
...
Closes #322
2018-12-19 17:23:23 -08:00
James R. Barlow
13d20bd993
pdfinfo: tolerate PDFs that overflow and underflow the graphics stack
2018-12-15 15:10:29 -08:00
James R. Barlow
ed9bb985e2
Fix pikepdf 0.9.0
2018-12-14 23:21:13 -08:00
James R. Barlow
0ebbd4e21b
Don't open encrypted files, even if password is empty
2018-12-13 22:48:00 -08:00
James R. Barlow
2cb75f6076
Refactor pipeline to make PDF/A conversion a separate step
2018-12-13 20:48:48 -08:00
James R. Barlow
857d871364
Fix regression on Ghostscript path
2018-12-13 20:36:41 -08:00
James R. Barlow
632dab2cc0
Replace Ghostscript DOCINFO and fix 9.25 metadata date regression
...
We no longer use Ghostscript to manage PDF metadata, instead
omitting the DOCINFO segment from the pdfmark file we generate.
Instead all of the relevant metadata code has been migrated to pikepdf,
and we use that API. This should be more consistent and fixes the
Ghostscript version-depedent quirks.
Also removes our python-xmp-toolkit dependency, except for
testing.
2018-12-13 18:13:30 -08:00
James R. Barlow
75c5d8055c
pdfinfo: fix FutureWarning
2018-12-12 22:12:14 -08:00
James R. Barlow
a938bbea55
Remove more libxmp dependencies
2018-12-12 22:02:35 -08:00
James R. Barlow
414407fbd6
Deprecate encode/decode_pdf_date and remap to pikepdf version
2018-12-12 22:01:21 -08:00
James R. Barlow
076fc717df
pdfa: replace PDF/A checking with pikepdf implementation
2018-12-12 21:41:16 -08:00
James R. Barlow
9df24a81b7
Fix comment in layout.py
2018-11-28 15:16:34 -08:00
James R. Barlow
40c0acd3f2
Support using --force-ocr and --threshold or --mask-barcodes together
2018-11-28 15:16:24 -08:00