b23d82c45e
Use mono.jb2 for tests
...
This also uncovered a bug in jbig2enc where it uses the wrong unit
for resolution.
2023-11-29 00:00:00 +00:00
085dd192f6
Add support for JBIG2 (generic coding)
...
Implements the proposal detailed at
josch/img2pdf#112 (comment)
This is a limited implementation of JBIG2, which can be extended to
support multiple pages, symbol tables, and other features of the format
in the future.
To test, I included a test fixture. You can also download 042.bmp (the same
one as @josch already downloaded in josch/img2pdf#112 (comment)
from https://git.ghostscript.com/?p=tests.git;a=blob_plain;f=jbig2/042.bmp;hb=HEAD
and run the following command:
jbig2 042.bmp | img2pdf > 042.pdf
This results in a small PDF, just as @josch originally found in the
comment mentioned above.
This is my first contribution to this repository so let me know if
something else is needed. Thanks for a great library!
2023-11-29 00:00:00 +00:00
819b366bf5
release version 0.5.1
2023-11-26 06:33:10 +01:00
cc8c708295
HACKING: how to bisect
2023-11-25 09:47:53 +01:00
fb9537d8b7
src/img2pdf.py: allow PNG input without dpi units but non-square dpi aspect ratio
...
Closes : #181
2023-11-25 09:47:52 +01:00
7678435eb7
validate icc profile and no default location on windows
...
closes : #179
2023-11-07 18:50:07 +01:00
ba7a360866
release version 0.5.0
2023-10-28 08:35:54 +02:00
7f0bf47ff3
src/img2pdf.py: reformat with black
2023-10-28 08:35:53 +02:00
Leo
5cd0918d50
Issue #175 related. The original was SmartAlbums, but another case with 'Adobe PS', so delete the exif_software check part
2023-10-18 13:33:44 +08:00
Leo
f157ced05d
ignore RGB icc profile for grayscale jpegs produced by SmartAlbums
...
closes : #175
2023-10-17 11:32:25 +02:00
09064e8e70
jp2: rudimentary support for raw jpeg2000 without jp2 boxes
2023-08-08 07:40:38 +02:00
2f736d7891
allow 'matte' to be missing in MIFF
2023-08-06 19:43:19 +02:00
e05580a49a
src/img2pdf_test.py: IM7 dropped 'baseType' in json output, so use 'type' instead which works for both IM6 and IM7
2023-08-06 19:27:01 +02:00
acc25a4926
Support JPEG2000 images with transparency
...
Closes : #173
2023-08-05 16:06:30 +02:00
f597887088
The GIMP ICC bug does not only apply to 1-bit tiff but also to black/white palette PNG
...
https://gitlab.gnome.org/GNOME/gimp/-/issues/3438
Closes : #159
2023-08-05 14:43:18 +02:00
3e832fbcc2
add information about how to convert images to 8 bit ( closes : #170 )
2023-08-05 14:43:07 +02:00
1e8557cef1
src/img2pdf_test.py: drop check for endianness for tests where it does not matter
...
IM7 defaults to big-endian on architectures other than x86 even if they
are little endian: https://github.com/ImageMagick/ImageMagick/issues/6300
Closes : #152
2023-08-05 14:42:48 +02:00
29921eeabd
the default PDF/A icc profile is /usr/share/color/icc/sRGB.icc, /usr/share/color/icc/OpenICC/sRGB.icc or /usr/share/color/icc/colord/sRGB.icc depending on which one exists
2023-06-11 21:56:21 +02:00
33139612f8
src/img2pdf_test.py: make endianness dependant on sys.byteorder ( closes : #152 )
2023-06-11 14:45:09 +02:00
64d27f4a8b
src/img2pdf_test.py: allow Bilevel as well as Grayscale type for png_gray1_img ( closes : #161 )
2023-06-11 13:24:30 +02:00
85cbe1d128
factor out argparse.ArgumentParser to allow for generating completions via shtab
2023-06-11 08:09:46 +02:00
b25429a4c1
src/img2pdf_test.py: add tests for timestamps
2023-06-11 08:01:36 +02:00
c703e9df06
fix date(1) based timestamp parser
2023-06-11 07:48:23 +02:00
79e9985f35
src/img2pdf_test.py: black
2023-06-11 07:47:22 +02:00
cb2644c34f
do not include thumbnails in the output by default unless --include-thumbnails is used
...
This is relevant for the MPO format which otherwise would result in PDF
files containing the same image in different sizes multiple times. With
this change, the default is to only have a single page containing the
full MPO. This means that extracting that MPO also gets the thumbnails
back.
With the --include-thumbnails option, each frame gets stored on its own
page as it is done for multi-frame GIF, for example.
Closes : #135
2023-06-11 07:31:07 +02:00
81502f21af
Convert creation/modification dates to UTC ( fixes #155 )
...
Ensure that timezones are correctly interpreted in the input by calling
`.astimezone()` as appropriate on datetime objects, and store the
resulting date fields as UTC.
One could argue that datetimes in the local timezone be stored in the
PDF, but then the date string handling becomes more complicated; the PDF
and XMP date specs both use the `Z` suffix to indicate UTC time, but
other +/- offsets require different syntax between the two specs.
2023-06-10 17:53:03 -07:00
0cbcb8fa12
avoid converting palette PNG with alpha to RGB ( closes : #158 )
2023-06-08 08:54:37 +02:00
e9e04b6dd9
extend comments around dropping ICC profile stored by GIMP for bilevel input
2023-06-08 08:53:22 +02:00
fc059ee471
use quotes around caret in examples for windows users
...
Closes : #167
2023-06-08 07:14:17 +02:00
25466113e9
another small fixup for the last commit
2023-05-30 08:06:36 +02:00
7405635b72
only check whether icc profile can be dropped if there is any
2023-05-30 07:10:32 +02:00
aea472101b
strip off RGB color profile from bilevel TIFF images produced by gimp ( closes : #164 )
2023-05-30 06:25:26 +02:00
7fa67bb337
demote print() to logger.debug()
2023-05-29 09:25:21 +02:00
7d40569aa1
Inform the user what is happening when running without any arguments and suggest using --help to get the help text ( closes : #156 )
2023-05-28 15:25:28 +02:00
83f9c32328
appveyor.yml: try out --console --nowindowed
2023-05-28 15:25:28 +02:00
be8369373f
pass deterministic_id=True to writer.save() for pikepdf >= 6.2.0
...
Closes : #150
2022-10-16 14:13:35 +02:00
10c6901fa3
src/img2pdf_test.py: do not test the depth attribute and rely on baseDepth
...
closes : #119
2022-09-23 23:10:53 +02:00
57d7e07e6b
Support imagemagick 7.1.0-48
...
- the output of -metric PSNR changed
- CMYK output can now be exactly compared
closes : #148
2022-09-15 04:36:16 +02:00
272fe0433f
allow pathlib.Path objects by allowing objects implementing read_bytes function
2022-07-02 21:19:34 +02:00
ef7b9e739d
add miff tests for cmyk8 and rgb8
2022-07-02 20:39:18 +02:00
af6fe27d53
avoid match/case for now until python 3.10 is available on more platforms
2022-06-28 14:22:14 +01:00
bad6fcae39
support for MIFF which allows 16 bit CMYK images
...
closes : #144
2022-06-27 13:22:07 +01:00
d9b90499f3
README.md: compare to econvert ( closes : #143 )
2022-05-18 13:08:05 +02:00
edb0d29a14
README.md: fix link
2022-05-13 21:27:12 +02:00
bb3e8b0098
README.md: document that img2pdf.exe can now be downloaded via release
2022-05-13 21:25:37 +02:00
f454ebc6a6
release version 0.4.4
2022-04-07 22:40:36 +02:00
c3db273e23
Remove outdated readme entry concerning JP2 colorspace
...
If I understood the code in `jp2.py` correctly, this should now work.
Moreover, Pillow should usually be able to open JP2 files, so `jp2.py` is only a fallback.
2022-04-07 22:08:41 +02:00
87afabd3cf
add .mailmap
2022-04-07 22:08:18 +02:00
homocomputeris
5045282cc2
Add B and JB paper sizes
2022-04-07 22:02:16 +02:00
fb4b96452a
reformat with black
2022-04-07 21:58:34 +02:00