85efd9a80a
Fix format of PDF and XMP timezone offsets
...
The way to specify timezone offsets differs between the PDF and XMP
specs, so hardcode the UTC offset instead of using `%z`. This also
avoids the possibility of embedding the more more granular timezones
supported by the datetime module but that are unsupported by either PDF
or XMP formats.
2023-06-10 17:28:02 -07:00
9c3753ed2b
Convert manual creation/mod times to UTC as well
...
In line with the previous commit for consistency, convert the date
strings from --creationdate and --moddate to UTC as well if a timezone
is specified.
2023-06-10 17:26:13 -07:00
1dd05cc36b
Treat default creation/mod dates as UTC ( fixes #155 )
...
(Tested with Python 3.11.3 on Arch Linux.)
Without passing a tzinfo object to `datetime.now()`, a "naive" datetime
object is created, which is not timezone-aware. To fix the default
date/time detection for non-UTC local timezones, pass
`datetime.timezone.utc` to convert the value to UTC and make the
datetime object "aware".
Also, adjust the strftime() wrappers to use the UTC offsets instead of a
literal `Z`; using the literal `Z` at the end appears to be valid for
ISO 8601, but for some reason it does not successfully convert, whereas
the `%z` placeholder substitutes the UTC offset and successfully
converts.
2023-05-29 14:17:56 -07: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
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
f454ebc6a6
release version 0.4.4
2022-04-07 22:40:36 +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
c553e169a4
use TiffImagePlugin.STRIP_SIZE for Pillow >= 8.4.0
2022-04-07 21:58:23 +02:00
d9345ac767
set GifImagePlugin.LOADING_STRATEGY to RGB_AFTER_DIFFERENT_PALETTE_ONLY in Pillow >= 9.1.0 ( closes : #130 )
2022-04-07 21:57:37 +02:00
1d52530229
support new pikepdf.Page object when making indirect objects ( closes : #132 )
2022-04-07 21:55:45 +02:00
3b117e674b
clarify that input with an alpha channel requires additional computation ( closes : #142 )
2022-04-07 17:13:16 +02:00
e8ca53738f
--viewer-page-layout support for twopageright and twopageleft
2022-03-25 14:01:18 +01:00
7c48bfb868
find_scale(): better document why we use powers of 10
2022-03-24 12:43:49 +01:00
244f034a2e
src/img2pdf_test.py: format with black
2022-03-22 17:57:12 +01:00
3da370d3bd
add more information about how to ignore invalid rotation values in input images
2022-02-06 20:33:30 +01:00
6cff2931e4
ensure that gif test input uses the same palette for all frames
2022-02-06 20:25:25 +01:00
30d705f020
src/img2pdf.py: the /OpenAction array must contain the page as an indirect object
2021-11-28 16:55:42 +01:00
dc926b2cf2
release version 0.4.3
2021-10-24 16:51:02 +02:00
a8fdbd0038
fix --viewer-initial-page (broken in last release)
2021-10-24 16:15:46 +02:00
6ff175d637
update my name
2021-10-13 09:17:44 +02:00
0732dff0be
src/img2pdf_test.py: make img2pdf path configurable
2021-10-13 09:17:17 +02:00
50b7145f64
release version 0.4.2
2021-10-11 17:16:03 +02:00
e522ec14d9
remove pdfrw from tests ( closes : #108 )
2021-10-09 15:29:44 +02:00
9c9e5ece19
src/img2pdf_test.py: add support for imagemagick 7
2021-10-03 22:54:33 +02:00
354fd7c264
src/img2pdf.py: format with black
2021-10-03 21:03:22 +02:00
392d4a665e
adapt AlphaChannelError messages
2021-10-03 21:03:08 +02:00
09ad147d97
support PNG palette images with icc profile ( closes : #107 )
2021-10-03 20:59:59 +02:00
80393b6efa
also support palette+alpha
2021-10-03 20:56:53 +02:00
e265738ac2
Revert "allow palette PNG images with ICC profile ( closes : #107 )"
...
This reverts commit 3d7e0e6812
.
2021-10-03 16:09:54 +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
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