Johannes Schauer Marin Rodrigues
30d705f020
src/img2pdf.py: the /OpenAction array must contain the page as an indirect object
3 years ago
Johannes Schauer Marin Rodrigues
dc926b2cf2
release version 0.4.3
3 years ago
Johannes Schauer Marin Rodrigues
a8fdbd0038
fix --viewer-initial-page (broken in last release)
3 years ago
Johannes Schauer Marin Rodrigues
6ff175d637
update my name
3 years ago
Johannes Schauer Marin Rodrigues
0732dff0be
src/img2pdf_test.py: make img2pdf path configurable
3 years ago
Johannes Schauer Marin Rodrigues
50b7145f64
release version 0.4.2
3 years ago
Johannes Schauer Marin Rodrigues
e522ec14d9
remove pdfrw from tests ( closes : #108 )
3 years ago
Johannes Schauer Marin Rodrigues
9c9e5ece19
src/img2pdf_test.py: add support for imagemagick 7
3 years ago
Johannes Schauer Marin Rodrigues
354fd7c264
src/img2pdf.py: format with black
3 years ago
Johannes Schauer Marin Rodrigues
392d4a665e
adapt AlphaChannelError messages
3 years ago
Johannes Schauer Marin Rodrigues
09ad147d97
support PNG palette images with icc profile ( closes : #107 )
3 years ago
Johannes Schauer Marin Rodrigues
80393b6efa
also support palette+alpha
3 years ago
Johannes Schauer Marin Rodrigues
e265738ac2
Revert "allow palette PNG images with ICC profile ( closes : #107 )"
...
This reverts commit 3d7e0e6812
.
3 years ago
mara0004
cde7472d15
Update documentation: img2pdf now supports alpha channels
3 years ago
Johannes Schauer Marin Rodrigues
6eec05c11c
workaround for Pillow >= 8.3.0 which limits CCITT Group4 strip size to 64 KB ( closes : #122 )
3 years ago
Tamás Zahola
f483638b17
Test cases for transparency
3 years ago
Tamás Zahola
7f216a8848
Test support on macOS
3 years ago
Tamás Zahola
2476215f39
Always initialize `smask`
3 years ago
Tamás Zahola
f62858c245
Formatting
3 years ago
Tamás Zahola
a5e4da5755
Use PNG predictor for /SMask too
3 years ago
Tamás Zahola
64db7909ec
Added transparency support for GIFs, palette-based PNGs and grayscale PNGs
3 years ago
Tamás Zahola
af5ae5b9b6
Convert 8-bit PNG alpha channels to /SMasks in PDF
3 years ago
Louis Sautier
152f6fb629
tests: look for sRGB.icc in several paths, skip related tests if not found
...
Always use Ghostscript's sRGB.icc.
3 years ago
Louis Sautier
1f3b456ac9
tests: don't expect ImageMagick to compress TIFF files by default
...
This is no longer the case with ImageMagick 7.
3 years ago
Michal Vasilek
4c5b72dab0
src/img2pdf_test.py: skip tests when icc profiles are not present
3 years ago
Michal Vasilek
853a1ec363
src/img2pdf_test.py: do not test format descriptions
3 years ago
Johannes Schauer Marin Rodrigues
5c617965f5
document the ifvalid option value further
3 years ago
Johannes Schauer Marin Rodrigues
0067edf965
remove first_frame_only from gui
3 years ago
Johannes Schauer Marin Rodrigues
91e3a94c3d
sort globbing result on windows
3 years ago
Johannes Schauer Marin Rodrigues
3d7e0e6812
allow palette PNG images with ICC profile ( closes : #107 )
3 years ago
Johannes Schauer Marin Rodrigues
b4c8aa1a5f
add --rotation argument overwriting exif data ( closes : #100 )
3 years ago
Johannes Schauer Marin Rodrigues
114d7270a2
release version 0.4.1
3 years ago
Johannes Schauer Marin Rodrigues
ea2245757f
add --from-file to read arbitrarily many images and circumvent the maximum command length of the shell ( closes : #95 )
3 years ago
Johannes Schauer Marin Rodrigues
9cda595cd5
I got married and my last name changed
3 years ago
Johannes Schauer Marin Rodrigues
2eabebb513
use context manager instead of manually closing BytesIO and PIL.Image
3 years ago
Johannes Schauer Marin Rodrigues
02c85a50ad
move closing code into its own function
3 years ago
Johannes Schauer Marin Rodrigues
c97ce34023
raise exception if border is larger than page size
3 years ago
Johannes Schauer Marin Rodrigues
81325d3998
fix page border computation ( closes : #92 )
3 years ago
Johannes Schauer Marin Rodrigues
8d2ae0f64e
fix reading from stdin
3 years ago
Johannes Schauer Marin Rodrigues
d29c596fe7
add support for MPO images ( closes : #93 )
3 years ago
Johannes Schauer Marin Rodrigues
cd1088a5a9
format with black
3 years ago
Johannes Schauer Marin Rodrigues
2a8779295f
write out pil format as debug message
3 years ago
Johannes Schauer Marin Rodrigues
6cd819d28f
do not use root logger for logging
3 years ago
Johannes Schauer Marin Rodrigues
c48e1dbb1e
use sys.exit() as exit might not be defined under windows -- see #94
3 years ago
Johannes Schauer Marin Rodrigues
d08d8c5be9
src/img2pdf_test.py: compare icc images as non-exact
3 years ago
Johannes Schauer Marin Rodrigues
0e4f0047b2
src/img2pdf_test.py: refactor comparison code to remove code duplication
3 years ago
Johannes Schauer Marin Rodrigues
0ce25d08c2
src/img2pdf_test.py: also draw RGB letters to identify colors
3 years ago
Johannes Schauer Marin Rodrigues
c5fd43e851
src/img2pdf_test.py: numpy.float got deprecated in NumPy 1.20
3 years ago
Johannes Schauer Marin Rodrigues
454d4e7775
src/img2pdf_test.py: distinguish between depth and baseDepth for tiff_rgb12 and tiff_rgb13
3 years ago
Johannes Schauer Marin Rodrigues
cb2243fd10
src/img2pdf_test.py: Pillow >= 8.2.0 only uses half the palette size
3 years ago
Johannes Schauer Marin Rodrigues
b8bfa98218
src/img2pdf_test.py: cater for endianess->endianness in 1.0 output format
3 years ago
Paul Ingemi
505344f83e
Add Windows support for paths containing wildcards "*" and "?"
...
Img2pdf accepts paths containing wildcards such as *.jpg to efficiently refer
to multiple input files that match the wildcard expression. Under POSIX
environments the command line shell is expected to perform this expansion,
however Windows requires the command line utility itself to expand the
wildcard expression.
Ideally this would be performed by argparse as described in this draft PEP:
https://mail.python.org/pipermail/python-ideas/2015-August/035244.html
Since argparse doesn't do it, this commit performs expansion directly.
Some implementation notes:
- Wildcard characters "*" and "?" are not valid in Windows filenames
- Code doesn't support bracket wildcards such as [0-3] on Windows since
they are valid filename characters
- Due to expansion, the images list collected by argparse may contain
sub-lists. Code uses chain.from_iterable to create a flat list.
- Paths that refer to non-existant files raise an error message, while
wildcards that match no files are silently ignored.
4 years ago
Anna Levenberg
32b4ed1f43
Add check for empty list
4 years ago
Johannes 'josch' Schauer
b2c3b641db
fix typo: complient -> compliant
4 years ago
Johannes 'josch' Schauer
11907242a5
src/img2pdf_test.py: we create our own channel-switching ICC profile
4 years ago
Johannes 'josch' Schauer
692b54ac67
release version 0.4.0
4 years ago
Johannes 'josch' Schauer
c7db805dee
don't use /usr/share/color/icc/ghostscript/srgb.icc but /usr/share/color/icc/sRGB.icc because the former converts from sRGB to CIE LAB and PDF/A requires a profile from CIE LAB to sRGB ( closes : #78 )
4 years ago
Johannes 'josch' Schauer
f0b57985ee
first stab at embedding ICC profiles
4 years ago
Johannes 'josch' Schauer
1ba02bf838
src/img2pdf_test.py: use json output instead of -verbose everywhere (the former is for machines, the latter for human consumption and can change without notice)
4 years ago
Johannes 'josch' Schauer
042aac71eb
reformat with black
4 years ago
Johannes 'josch' Schauer
7da0a00ef3
src/img2pdf_test.py: replace jpg_img check by json output
4 years ago
Johannes 'josch' Schauer
86fddab622
src/img2pdf_test.py: check for JP2 support
4 years ago
Johannes 'josch' Schauer
788102ee05
.travis.yml: use focal
4 years ago
Johannes 'josch' Schauer
d92790ad26
try ghostscript version shaningans
4 years ago
Johannes 'josch' Schauer
9bd41dba1e
src/img2pdf_test.py: check that psnr is not zero
4 years ago
Johannes 'josch' Schauer
6c742be642
src/img2pdf_test.py: cater for json output of imagemagick before 6.9.9.34
4 years ago
Johannes 'josch' Schauer
c506cf0b8d
try to use json output instead of identify -verbose
4 years ago
Johannes 'josch' Schauer
fbb51d9083
tighten minimum imagemagick version for quantum:polarity=min-is-black
4 years ago
Johannes 'josch' Schauer
1d5be0cc9d
src/img2pdf_test.py: also catch subprocess.CalledProcessError
4 years ago
Johannes 'josch' Schauer
e151ca27eb
src/img2pdf_test.py: skip tests on win32 and macos
4 years ago
Johannes 'josch' Schauer
7aed0ea0d0
src/img2pdf_test.py: fixes for Ubuntu Trusty
4 years ago
Johannes 'josch' Schauer
bed0b4cdae
src/img2pdf_test.py: check for mutool >= 1.10.0
4 years ago
Johannes 'josch' Schauer
11f7db5003
src/img2pdf_test.py: explicitly convert PosixPath to str
4 years ago
Johannes 'josch' Schauer
000fc3b5ac
remove obsolete src/tests/__init__.py
4 years ago
Johannes 'josch' Schauer
0992832ab0
src/img2pdf_test.py: explicitly convert PosixPath to str
4 years ago
Johannes 'josch' Schauer
66fd7cc765
rename test.py -> src/img2pdf_test.py
4 years ago
Johannes 'josch' Schauer
5b7f93bb9a
do not allow negative values in parse_num()
4 years ago
Johannes 'josch' Schauer
663010ca61
src/img2pdf.py: tiny logic error
4 years ago
Johannes 'josch' Schauer
93f65a49c9
add --pdfa argument to attach an icc profile for PDF/A-1b compliant output
4 years ago
James R. Barlow
bca3f802ac
Add support for pikepdf
4 years ago
Johannes 'josch' Schauer
1cd2674a2c
src/tests/__init__.py: recursively convert both PDFs into Python data structures and then compare for equality -- this allows comparing PDFs in which streams are compressed differently
4 years ago
Johannes 'josch' Schauer
f4b296cef3
src/tests/__init__.py: make path OS agnostic (slash vs backslash)
4 years ago
Johannes 'josch' Schauer
5c7ffb09a1
src/tests/__init__.py: add support for engine instead of with_pdfrw
4 years ago
Johannes 'josch' Schauer
e4dece1c9f
replace --without-pdfrw by --engine=internal or --engine=pdfrw
4 years ago
Johannes 'josch' Schauer
997fe8efd8
src/tests/__init__.py: use pikepdf instead of pdfrw
4 years ago
Johannes 'josch' Schauer
60fa588cfb
release version 0.3.6
4 years ago
Johannes 'josch' Schauer
6da2bc3aee
release version 0.3.5
4 years ago
Johannes 'josch' Schauer
082f999ac8
fix with_pdfrw assignment -- thanks Michał Górny
4 years ago
Johannes 'josch' Schauer
ceba6a8223
Rip out remaining python3 support
...
https://www.enricozini.org/blog/2020/python/python-2-is-dead/
4 years ago
Johannes 'josch' Schauer
9449f96345
only run gui if requested with --gui even on windows ( closes : #73 )
4 years ago
Johannes 'josch' Schauer
0bbbc7a31a
pdfrw is now disabled by default if it's not installed ( closes : #74 )
4 years ago
Johannes 'josch' Schauer
fb2916e6b2
release version 0.3.4
4 years ago
Johannes 'josch' Schauer
7a3daec620
add rudimentary GUI
4 years ago
Johannes 'josch' Schauer
1bb21f0c85
put read() into a different try block than open()
4 years ago
Johannes 'josch' Schauer
2b26daeb47
first draft of a tkinter gui
5 years ago
Johannes 'josch' Schauer
ed6187d541
add --crop-border, --bleed-border, --trim-border and --art-border options
5 years ago
Johannes 'josch' Schauer
82706671cc
join strings that got put into the same line by black
5 years ago
Johannes 'josch' Schauer
01022487b7
add AlphaChannelError and ExifOrientationError exceptions
5 years ago
Johannes 'josch' Schauer
07903e9ef1
im was not defined -- don't print it ( closes : #61 )
5 years ago
Johannes 'josch' Schauer
8d7996709a
release version 0.3.3
5 years ago