Commit graph

356 commits

Author SHA1 Message Date
1ffb160453
Readme: remove alpha channels section 2021-10-03 16:04:53 +02:00
cde7472d15 Update documentation: img2pdf now supports alpha channels 2021-10-03 11:48:24 +00:00
6eec05c11c
workaround for Pillow >= 8.3.0 which limits CCITT Group4 strip size to 64 KB (closes: #122) 2021-10-03 13:24:53 +02:00
Tamás Zahola
f483638b17 Test cases for transparency 2021-08-22 08:08:22 +00:00
Tamás Zahola
7f216a8848 Test support on macOS 2021-08-22 08:08:21 +00:00
Tamás Zahola
2476215f39 Always initialize smask 2021-08-22 08:08:20 +00:00
Tamás Zahola
f62858c245 Formatting 2021-08-22 08:08:20 +00:00
Tamás Zahola
a5e4da5755 Use PNG predictor for /SMask too 2021-08-22 08:08:19 +00:00
Tamás Zahola
64db7909ec Added transparency support for GIFs, palette-based PNGs and grayscale PNGs 2021-08-22 08:08:19 +00:00
Tamás Zahola
af5ae5b9b6 Convert 8-bit PNG alpha channels to /SMasks in PDF 2021-08-22 08:08:19 +00:00
d03f331521
Remove ineffective description-file parameter from setup.cfg
Otherwise, we get a warning:
"Usage of dash-separated 'description-file' will not be supported in
future versions."

This parameter was only used when setup.py was used with pbr=True, which is
not the case here, and setup.py loads the right file into long_description.
2021-08-22 03:15:20 +02:00
635b08c321
README: fix CI URLs 2021-08-21 20:57:15 +02:00
152f6fb629
tests: look for sRGB.icc in several paths, skip related tests if not found
Always use Ghostscript's sRGB.icc.
2021-08-19 19:56:01 +02:00
1f3b456ac9
tests: don't expect ImageMagick to compress TIFF files by default
This is no longer the case with ImageMagick 7.
2021-08-19 13:17:06 +02:00
4c5b72dab0
src/img2pdf_test.py: skip tests when icc profiles are not present 2021-08-19 13:08:32 +02:00
853a1ec363 src/img2pdf_test.py: do not test format descriptions 2021-08-19 10:59:46 +00:00
55d589a548
README.md: document how to remove alpha channel and --rotation=ifvalid 2021-08-14 10:19:46 +02:00
5c617965f5
document the ifvalid option value further 2021-08-14 10:19:06 +02:00
0067edf965
remove first_frame_only from gui 2021-08-14 10:18:15 +02:00
91e3a94c3d
sort globbing result on windows 2021-07-02 16:18:20 +02:00
3d7e0e6812
allow palette PNG images with ICC profile (closes: #107) 2021-06-14 18:34:46 +02:00
b4c8aa1a5f
add --rotation argument overwriting exif data (closes: #100) 2021-05-14 11:31:53 +02:00
114d7270a2
release version 0.4.1 2021-05-09 18:57:41 +02:00
80d24a1d49
README.md: add more examples (closes: #98) 2021-05-07 11:20:47 +02:00
ea2245757f
add --from-file to read arbitrarily many images and circumvent the maximum command length of the shell (closes: #95) 2021-05-07 10:59:19 +02:00
9cda595cd5
I got married and my last name changed 2021-05-07 09:41:27 +02:00
2eabebb513
use context manager instead of manually closing BytesIO and PIL.Image 2021-04-28 15:37:44 +02:00
02c85a50ad
move closing code into its own function 2021-04-14 08:25:18 +02:00
c97ce34023
raise exception if border is larger than page size 2021-04-13 13:10:57 +02:00
81325d3998
fix page border computation (closes: #92) 2021-04-13 13:10:34 +02:00
8d2ae0f64e
fix reading from stdin 2021-04-13 08:12:33 +02:00
d29c596fe7
add support for MPO images (closes: #93) 2021-04-12 22:57:51 +02:00
cd1088a5a9
format with black 2021-04-12 14:13:34 +02:00
2a8779295f
write out pil format as debug message 2021-04-12 14:13:19 +02:00
6cd819d28f
do not use root logger for logging 2021-04-12 14:12:14 +02:00
c48e1dbb1e
use sys.exit() as exit might not be defined under windows -- see #94 2021-04-12 06:52:27 +02:00
d08d8c5be9
src/img2pdf_test.py: compare icc images as non-exact 2021-04-12 06:27:36 +02:00
0e4f0047b2
src/img2pdf_test.py: refactor comparison code to remove code duplication 2021-04-12 06:27:36 +02:00
0ce25d08c2
src/img2pdf_test.py: also draw RGB letters to identify colors 2021-04-12 06:27:36 +02:00
c5fd43e851
src/img2pdf_test.py: numpy.float got deprecated in NumPy 1.20 2021-04-12 06:16:05 +02:00
17fd73aed8
.travis.yml: set osx_image: xcode12.2 or pikepdf import fails 2021-04-07 12:23:40 +02:00
454d4e7775
src/img2pdf_test.py: distinguish between depth and baseDepth for tiff_rgb12 and tiff_rgb13 2021-04-07 12:23:01 +02:00
cb2243fd10
src/img2pdf_test.py: Pillow >= 8.2.0 only uses half the palette size 2021-04-07 12:23:01 +02:00
129bd15b43
tox.ini: run pytest with -vv to show full diff 2021-04-07 12:22:53 +02:00
b8bfa98218
src/img2pdf_test.py: cater for endianess->endianness in 1.0 output format 2021-04-07 08:06:59 +02:00
b5f0912e13
README.md: minimize scope of opened file in examples
Prompted-by: Joao Rodrigo Windisch Olenscki
2021-03-09 17:35:27 +01:00
213a6af41f
tox.ini: add py39 2020-10-31 08:47:01 +01:00
9290cb4a10
.travis.yml: bump windows python version to 3.9 2020-10-31 08:42:25 +01:00
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.
2020-10-05 10:28:08 +02:00
Anna Levenberg
32b4ed1f43
Add check for empty list 2020-09-22 16:23:17 +02:00