Commit graph

103 commits

Author SHA1 Message Date
c0ed810036
src/img2pdf.py: work around PIL not reporting a colorspace for 16bit grayscale PNGs 2018-08-17 12:57:46 +02:00
ccca845606
src/img2pdf.py: Read bits per sample from PNG to support PNG images with 1, 2, 4 or 16 bits per sample 2018-08-17 12:55:55 +02:00
53685934f9
src/img2pdf.py: also reject palette images with transparency 2018-08-17 07:27:15 +02:00
ba5a9a1dfc
Allow multipage CCITT group 4 TIFF images 2018-08-16 00:23:18 +02:00
a628ed22f9
Add more debugging output 2018-08-16 00:11:07 +02:00
fbcaca5e6b
big endian encoded TIFF files may have FillOrder set to lsb-to-msb and must have the bits of each byte reversed 2018-08-16 00:10:46 +02:00
a9f4c9b665
release version 0.3.1 2018-08-04 15:44:45 +02:00
198c98a5f9
make pep8 compliant 2018-08-01 22:28:44 +02:00
f5d8d86dff
Also do not re-encode CCITT Group 4 encoded TIFF images
Add additional property of input images: inverted

closes: #47
2018-08-01 22:12:40 +02:00
b3fb2de5f6
src/img2pdf.py: fix spelling in --help output 2018-07-19 12:05:27 +02:00
1aa71e3746
release version 0.3.0 2018-07-18 11:30:43 +02:00
75c43de09d
Create a new PIL image before saving as TIFF to prevent libtiff errors
closes: #46
2018-07-18 01:58:03 +02:00
7de174f4b5
CCITTFaxDecode filter must be in an array 2018-07-18 01:55:48 +02:00
48d5b4d7af
CCITTGroup4 must return empty palette 2018-07-18 00:57:43 +02:00
ac9ba1d0f6
handle monochrome png properly 2018-07-18 00:03:31 +02:00
eaf9de23c9
Filter must not be array for PNG output, so never make it an array 2018-07-17 23:59:55 +02:00
47a1e0c81e
src/img2pdf.py: do not use PNG encoding for CMYK input 2018-07-17 16:57:44 +02:00
84ce9bbd9c
src/img2pdf.py: do not allow transparency 2018-07-17 16:57:44 +02:00
90293204b2
src/img2pdf.py: use logging.warning because warn() is deprecated 2018-07-17 16:07:01 +02:00
ade5768d72
src/img2pdf.py: expand error message about alpha channel 2018-03-27 10:39:24 +02:00
920506b867
Reflect the fact that we now use PNG compression in the --help output 2018-03-24 19:53:41 +01:00
e78dd80451
Add option --pillow-limit-break to force Pillow to accept large input images 2018-03-24 19:47:03 +01:00
d9a6c9db03
Interlaced PNGs cannot be directly embedded but have to be re-encoded 2018-03-24 18:59:02 +01:00
7244d2c6ed
Disallow input images with alpha channel as it cannot be preserved in the PDF and would thus make img2pdf not lossless 2018-03-24 18:55:14 +01:00
1d9a25dfd2
Proof of concept of using PDF DecodeParms for storing pixel data with PNG compression 2018-03-15 11:31:36 +01:00
9836b976d3 src/img2pdf.py: handle Pillow returning a DPI of zero (closes: #36) 2017-10-18 10:34:59 +02:00
James R. Barlow
a8269391e9 Implement /UserUnit scaling to support oversized PDFs
The original PDF specification supported a maximum of 200x200" pages or
14400 PDF units. In PDF 1.6 rather than remove this limitation, Adobe
added the /UserUnit field for pages, which allows one to specify the
scaling that should be applied for user-facing numbers, while keeping
the internal limit of 14400 units.

Many real-world designs are larger than 200" in one direction. One
example is tractor feed or rolled paper which may be easier to scan in
one continuous run rather than segment into pages.

/UserUnit is independent of the pixel size and resolution of the image.

/UserUnit can also indicate very small page sizes but this is not
implemented here.
2017-08-20 21:19:23 +09:00
James R. Barlow
b54617de19 Fix rawdata[:12] bytes/str comparison 2017-08-20 21:11:32 +09:00
725462462b release version 0.2.4 2017-05-23 17:53:19 +02:00
Stephan Richter
f626d7860f Produce port that is fully API compatible. 2017-05-23 17:51:17 +02:00
Stephan Richter
06560cd0d4 It is easy enough to create a separate class for the Py2 version. 2017-05-22 19:34:39 +02:00
Stephan Richter
719928f5f5 Declare file encoding, since it contains some non-ascii chars. 2017-05-22 19:34:39 +02:00
Stephan Richter
b25098c3f0 Python 2 does not automatically convert integers to floats, so we have to be a bit more explicit. 2017-05-22 19:34:34 +02:00
16993964ce restore pep8 compliance 2017-01-20 09:19:30 +01:00
7df29a9acc Allow to call get_layout_fun with less parameters by specifying defaults 2017-01-20 09:15:02 +01:00
e20fe4944c release version 0.2.3 2017-01-20 05:47:06 +01:00
1513ab3421 release version 0.2.2 2017-01-20 05:23:40 +01:00
4040e907a3 Make --help output more friendly to help2man 2017-01-20 05:17:23 +01:00
ef36e86a46 Fix default of --producer argument in --help output to include version 2017-01-20 04:46:26 +01:00
fbeecd2301 Allow to not add the /Producer field to the metadata 2017-01-20 04:45:14 +01:00
f94684c8ea If input to convert() doesn't have a write() member, then it must be str or bytes type 2017-01-19 20:32:46 +01:00
7c90b2c451 restore backwards compatibility and allow passing images as a list 2017-01-19 20:32:16 +01:00
962d4dbdfb Make pep8 compliant again 2017-01-19 11:22:08 +01:00
James R. Barlow
c27505486e Break out TIFF G4 transcoding into its own function 2016-07-22 07:09:24 +02:00
James R. Barlow
95f84f97bc Implement automatic monochrome CCITT Group4 encoding via Pillow/libtiff 2016-07-22 07:09:07 +02:00
Jakub Wilk
0fe30a62d9 fix typos 2016-06-10 17:02:38 +01:00
d78b2cbdbc Fix bug where horizontal and vertical borders where switched when page size was also given. Thanks Erik./a.out| sox -c 1 -e unsigned-integer -r 8000 -t u8 - -d --buffer 32 Closes #30 2016-05-26 08:19:34 +02:00
Andrey Gursky
c704e657cc update version according to release 2016-05-11 21:39:21 +02:00
c158585618 only use jp2 to parse jpeg2000 if PIL doesn't support jpeg2000 2016-02-17 20:31:46 +01:00
ef9eac7326 instead of storing a limited list of supported colorspaces and imageformats, store the items requiring special treatment but do not abort if a value other than the listed ones is supported by PIL 2016-02-17 18:47:02 +01:00