Commit Graph

292 Commits (main)

Author SHA1 Message Date
Johannes Schauer Marin Rodrigues 819b366bf5
release version 0.5.1 5 months ago
Johannes Schauer Marin Rodrigues fb9537d8b7
src/img2pdf.py: allow PNG input without dpi units but non-square dpi aspect ratio
Closes: #181
5 months ago
Johannes Schauer Marin Rodrigues 7678435eb7
validate icc profile and no default location on windows
closes: #179
6 months ago
Johannes Schauer Marin Rodrigues ba7a360866
release version 0.5.0 6 months ago
Johannes Schauer Marin Rodrigues 7f0bf47ff3
src/img2pdf.py: reformat with black 6 months ago
Leo 5cd0918d50 Issue #175 related. The original was SmartAlbums, but another case with 'Adobe PS', so delete the exif_software check part 7 months ago
Leo f157ced05d
ignore RGB icc profile for grayscale jpegs produced by SmartAlbums
closes: #175
7 months ago
Johannes Schauer Marin Rodrigues 09064e8e70
jp2: rudimentary support for raw jpeg2000 without jp2 boxes 9 months ago
Johannes Schauer Marin Rodrigues 2f736d7891
allow 'matte' to be missing in MIFF 9 months ago
Johannes Schauer Marin Rodrigues e05580a49a
src/img2pdf_test.py: IM7 dropped 'baseType' in json output, so use 'type' instead which works for both IM6 and IM7 9 months ago
Johannes Schauer Marin Rodrigues acc25a4926
Support JPEG2000 images with transparency
Closes: #173
9 months ago
Johannes Schauer Marin Rodrigues 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
9 months ago
Johannes Schauer Marin Rodrigues 3e832fbcc2
add information about how to convert images to 8 bit (closes: #170) 9 months ago
Johannes Schauer Marin Rodrigues 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
9 months ago
Johannes Schauer Marin Rodrigues 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 11 months ago
Johannes Schauer Marin Rodrigues 33139612f8
src/img2pdf_test.py: make endianness dependant on sys.byteorder (closes: #152) 11 months ago
Johannes Schauer Marin Rodrigues 64d27f4a8b
src/img2pdf_test.py: allow Bilevel as well as Grayscale type for png_gray1_img (closes: #161) 11 months ago
Johannes Schauer Marin Rodrigues 85cbe1d128
factor out argparse.ArgumentParser to allow for generating completions via shtab 11 months ago
Johannes Schauer Marin Rodrigues b25429a4c1
src/img2pdf_test.py: add tests for timestamps 11 months ago
Johannes Schauer Marin Rodrigues c703e9df06
fix date(1) based timestamp parser 11 months ago
Johannes Schauer Marin Rodrigues 79e9985f35
src/img2pdf_test.py: black 11 months ago
Johannes Schauer Marin Rodrigues 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
11 months ago
Patrick McCarty 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.
11 months ago
Johannes Schauer Marin Rodrigues 0cbcb8fa12
avoid converting palette PNG with alpha to RGB (closes: #158) 11 months ago
Johannes Schauer Marin Rodrigues e9e04b6dd9
extend comments around dropping ICC profile stored by GIMP for bilevel input 11 months ago
Johannes Schauer Marin Rodrigues fc059ee471
use quotes around caret in examples for windows users
Closes: #167
11 months ago
Johannes Schauer Marin Rodrigues 25466113e9
another small fixup for the last commit 11 months ago
Johannes Schauer Marin Rodrigues 7405635b72
only check whether icc profile can be dropped if there is any 11 months ago
Johannes Schauer Marin Rodrigues aea472101b
strip off RGB color profile from bilevel TIFF images produced by gimp (closes: #164) 11 months ago
Johannes Schauer Marin Rodrigues 7fa67bb337
demote print() to logger.debug() 11 months ago
Johannes Schauer Marin Rodrigues 7d40569aa1
Inform the user what is happening when running without any arguments and suggest using --help to get the help text (closes: #156) 11 months ago
Johannes Schauer Marin Rodrigues be8369373f
pass deterministic_id=True to writer.save() for pikepdf >= 6.2.0
Closes: #150
2 years ago
Johannes Schauer Marin Rodrigues 10c6901fa3
src/img2pdf_test.py: do not test the depth attribute and rely on baseDepth
closes: #119
2 years ago
Johannes Schauer Marin Rodrigues 57d7e07e6b
Support imagemagick 7.1.0-48
- the output of -metric PSNR changed
 - CMYK output can now be exactly compared

closes: #148
2 years ago
Johannes Schauer Marin Rodrigues 272fe0433f allow pathlib.Path objects by allowing objects implementing read_bytes function 2 years ago
Johannes Schauer Marin Rodrigues ef7b9e739d add miff tests for cmyk8 and rgb8 2 years ago
Johannes Schauer Marin Rodrigues af6fe27d53 avoid match/case for now until python 3.10 is available on more platforms 2 years ago
Johannes Schauer Marin Rodrigues bad6fcae39 support for MIFF which allows 16 bit CMYK images
closes: #144
2 years ago
Johannes Schauer Marin Rodrigues f454ebc6a6
release version 0.4.4 2 years ago
homocomputeris 5045282cc2
Add B and JB paper sizes 2 years ago
Johannes Schauer Marin Rodrigues fb4b96452a
reformat with black 2 years ago
Johannes Schauer Marin Rodrigues c553e169a4
use TiffImagePlugin.STRIP_SIZE for Pillow >= 8.4.0 2 years ago
Johannes Schauer Marin Rodrigues d9345ac767
set GifImagePlugin.LOADING_STRATEGY to RGB_AFTER_DIFFERENT_PALETTE_ONLY in Pillow >= 9.1.0 (closes: #130) 2 years ago
Johannes Schauer Marin Rodrigues 1d52530229
support new pikepdf.Page object when making indirect objects (closes: #132) 2 years ago
Johannes Schauer Marin Rodrigues 3b117e674b
clarify that input with an alpha channel requires additional computation (closes: #142) 2 years ago
alister e8ca53738f
--viewer-page-layout support for twopageright and twopageleft 2 years ago
Johannes Schauer Marin Rodrigues 7c48bfb868
find_scale(): better document why we use powers of 10 2 years ago
Johannes Schauer Marin Rodrigues 244f034a2e
src/img2pdf_test.py: format with black 2 years ago
Johannes Schauer Marin Rodrigues 3da370d3bd
add more information about how to ignore invalid rotation values in input images 2 years ago
Johannes Schauer Marin Rodrigues 6cff2931e4
ensure that gif test input uses the same palette for all frames 2 years ago