James R. Barlow
5adbddd1f9
ghostscript: rendering threads has no effect on pdfwrite, so remove it
...
See
https://www.ghostscript.com/doc/current/Language.htm
2019-05-12 03:36:07 -07:00
James R. Barlow
15a988b999
weave: use emplacement method, scrap TOC repair
...
The new emplacement method updates page objects in place without
generating new objgen numbers, meaning we no longer need to update the table
of contents to preserve links.
2019-05-11 12:40:25 -07:00
James R. Barlow
83398e54ea
weave: fix corruption of certain high page count files
...
Corruption occurred when replacements was not incremented for multiple
consecutive pages.
2019-05-11 12:22:21 -07:00
James R. Barlow
bcdd196699
ghostscript: remove unnecessary post-render resizing step
2019-05-11 12:10:50 -07:00
James R. Barlow
58c29ffb5c
weave: use explicit pdf.close(), drastically reduce open file handles
...
With the new pikepdf 1.2.0 we no longer need to hold file handles
open because of the "copy to memory" functionality. We retain
the behavior of closing/reopening the output PDF every 100 pages as
a way to limit memory usage.
2019-04-18 15:12:48 -07:00
James R. Barlow
f615b6f0e8
pdfinfo: be more specific about detecting XFA we can't render
2019-04-18 15:07:25 -07:00
James R. Barlow
e0c8dadcce
Explicitly close most pikepdf.Pdf when done with them
2019-04-18 15:02:12 -07:00
James R. Barlow
91cb092aa0
Remove PyCharm debugger hack
2019-04-18 10:15:02 -07:00
James R. Barlow
922a107b7f
Remove safety traversal of PDF table of contents
...
qpdf fixed the danging reference issue (qpdf #240 ) in 8.3.0, which is
required by pikepdf 1.1.0. We no
longer need the workaround.
2019-04-13 00:24:03 -07:00
James R. Barlow
427afc0616
Fix LeptonicaErrorTrap when a sys.stderr.fileno() is not available
...
The LeptonicaErrorTrap was problematic for Celery and other
libraries that mess with stderr.
Closes #359
2019-03-17 14:22:36 -07:00
James R. Barlow
9c7ee2bf23
Better help text for --verbose
2019-03-17 13:29:25 -07:00
James R. Barlow
4e2a98ead4
leptonica: fix junkpixt harder
2019-03-16 14:08:58 -07: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