James R. Barlow
2b5f23a2d1
Add code to repair ToC with pikepdf
2018-05-16 21:39:23 -07:00
James R. Barlow
18595ca86a
Use pikepdf for get_pdfmark
...
It does fine.
2018-05-16 12:24:35 -07:00
James R. Barlow
d5fb275e9e
Travis: hack in qpdf appimage version
...
qpdf from appimage does not report its version with --version if renamed
or accessed via symlink. Use an environment variable to supply it
where needed.
2018-05-15 17:45:58 -07:00
James R. Barlow
398e9e535e
optimize: Changed pikepdf API
2018-05-15 16:29:57 -07:00
James R. Barlow
08bf651ef2
Refactor JBIG2 path for non-CCITT monochrome images
2018-05-15 15:32:15 -07:00
James R. Barlow
6171de41bf
optimize: move a lot of image scanning code to pikepdf
2018-05-14 22:21:53 -07:00
James R. Barlow
f0a56592e2
Pull JobContext out of pipeline.py to avoid circular reference
2018-05-14 14:01:25 -07:00
James R. Barlow
87a7d4d1a8
Another fitz failure - incorrect object reference introduced
...
MuPDF/fitz changed some font references to point to table of contents
entries, corrupting the page. It no longer gets to save.
2018-05-14 13:58:49 -07:00
James R. Barlow
c4ab01d63d
Fix "AttributeError: 'ImageInfo' object has no attribute '_type'"
...
Also deal with 'fixme' imagemask comment.
Also fix bpc incorrectly set to 8 by default on stencil masks.
2018-05-12 12:14:57 -07:00
James R. Barlow
4ba3b3f55a
Fix rotate_pages_threshold test failure
2018-05-12 11:47:46 -07:00
James R. Barlow
52d2706a9e
optimize: Fix error causing many images to be skipped
2018-05-12 01:37:30 -07:00
James R. Barlow
964afc69f6
leptonica: ErrorTrap is an implementation detail
2018-05-12 01:21:45 -07:00
James R. Barlow
3ddf545ccd
optimize: leptonica can fail to open PNG
...
ERROR - Info in pixReadStreamPng: converting (cmap + alpha) ==> RGBA
Error in pixReadStreamPng: spp == 1, cmap, trans array, invalid depth: 4
To investigate later....
2018-05-12 01:21:19 -07:00
James R. Barlow
f9374733bb
optimize: process ICCBased images that declare an /Alternate we recognize
2018-05-12 00:43:36 -07:00
James R. Barlow
5930135f45
optimize: Refactor naming helpers
2018-05-12 00:42:24 -07:00
James R. Barlow
f03f6bc128
optimize: document problem with transcode free compressed image data
2018-05-11 23:43:06 -07:00
James R. Barlow
6c50c70235
Try to optimize paletted images
2018-05-11 23:42:26 -07:00
James R. Barlow
8790fc2c1b
optimize: add knobs to control image quality but don't show the user yet
2018-05-11 23:41:49 -07:00
James R. Barlow
f86c4fccf4
optimize: don't alter >8 bpc images
2018-05-11 22:31:24 -07:00
James R. Barlow
7d0785e9ed
main: do better parameter validation
2018-05-11 22:31:09 -07:00
James R. Barlow
2cac88162c
Ignore masks when deciding what color to rasterize at
2018-05-11 21:27:57 -07:00
James R. Barlow
4809627d8a
Fix jbig2enc name
2018-05-11 17:51:08 -07:00
James R. Barlow
871979abd6
Temporarily unbreak without fitz mode
2018-05-11 17:32:15 -07:00
James R. Barlow
d9bbb80a6b
Don't try to run jbig2 when not available
2018-05-11 12:42:00 -07:00
James R. Barlow
ac36a43cef
Warn about --user-words not having any effect
...
Might be available in full release of Tess4
2018-05-11 02:31:07 -07:00
James R. Barlow
161b29a899
Check jbig2 when optimizing is requested
2018-05-11 02:11:01 -07:00
James R. Barlow
72253d09fa
Add arguments to control optimization
2018-05-10 22:23:24 -07:00
James R. Barlow
40d09ddb23
Fix merge error in Leptonica
2018-05-10 21:17:47 -07:00
James R. Barlow
3026d86a9e
Remove jbig2enc.py
2018-05-10 21:15:07 -07:00
James R. Barlow
0661a7edc3
Merge optimize
2018-05-10 21:05:32 -07:00
James R. Barlow
24b0adfacc
Merge branch 'master' into develop
2018-05-10 20:54:55 -07:00
James R. Barlow
36a53a7b37
Weave: Unconditionally rotate and scale the text layerThis solves two issues. First, the text layer can end up being adifferent size, probably if the DPI is not an integer; scaling helps itfit slightly better. Second, other printable text on the page can end uphorizontally scaled or misaligned if we don't all of our drawing in aq/Q pair.
2018-05-10 19:03:31 -07:00
James R. Barlow
0a5982a902
PyMuPDF tweaks: don't clean
...
In MuPDF 1.13 clean might be unreliable, so explicitly don't do it,
even though it doesn't cause trouble in 1.12.
2018-05-10 18:50:52 -07:00
James R. Barlow
601863f9e9
Return to PyMuPDF 1.12.5
2018-05-10 18:47:10 -07:00
James R. Barlow
c9ce731119
Fix DPI mismatch between OCR page and source page
2018-05-10 17:34:08 -07:00
James R. Barlow
63032d304d
Revert "Since PyMuPDF 1.13.3 corrupts text, pin 1.12.5 and work around it"
...
This reverts commit b0ce7c63dd .
2018-05-10 16:27:17 -07:00
James R. Barlow
a57ecede78
Refactor textareas to remove duplicate code
2018-05-10 16:26:52 -07:00
James R. Barlow
b0ce7c63dd
Since PyMuPDF 1.13.3 corrupts text, pin 1.12.5 and work around it
2018-05-10 16:10:24 -07:00
James R. Barlow
d139a11c16
Weave: periodically save to prevent indefinite growth of open file list
2018-05-10 15:08:57 -07:00
James R. Barlow
aef043db0b
Revise parameter validation for output-type, pdf-renderer, lang
2018-05-10 14:53:22 -07:00
James R. Barlow
b8f3ead541
Remove tesseract renderer entirely
...
Grafting lets us work with older Tesseract versions as if they could use
sandwich, so there is no point in keeping it. It's been deprecated for a
long time now anyway.
2018-05-10 14:06:13 -07:00
James R. Barlow
e0bb898f29
Remove hocr debug renderer (-g)
...
The fact that this produces additional pages makes it a maintenance
burden. hocr can be debugged using hocrtransform.
2018-05-10 13:48:39 -07:00
James R. Barlow
45336c7c28
textareas: filter out images
2018-05-10 01:17:28 -07:00
James R. Barlow
20aabb2e83
When deciding if there is a text on a page, ignore the margins
...
Margins may include watermarks or digital stamps on otherwise
text-free pages.
2018-05-10 01:16:11 -07:00
James R. Barlow
da80d3f354
Add unconditional (for now) whiteout of text areas
2018-05-07 17:37:46 -07:00
James R. Barlow
9226f8a5d1
Trap PDF/A-3 errors on old Ghostscript
2018-05-04 15:29:43 -07:00
James R. Barlow
5c8a007f3e
Fix failure to prevent use of Ghostscript on /UserUnit files
2018-05-04 13:34:34 -07:00
James R. Barlow
b3ad3e297d
v6.2.0 fixes
2018-05-03 17:04:23 -07:00
James R. Barlow
7cf83c77ca
Merge branch 'feature/pdfa3'
2018-05-03 16:45:57 -07:00
James R. Barlow
8a9f174f63
Fix XMP validation issue with /CreationDate
...
Related to previous validation issue. If the /CreationDate had no
timezone, Ghostscript also creates invalid metadata. Work around this.
Also fix up PDF date decoding, and transcode dates to standardize them.
2018-05-03 16:30:20 -07:00