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
00c73a6691
make the separating x optional when specifying the width without the height
2016-02-17 18:16:17 +01:00
86552a78dc
fix --fit=exact if one value is missing
2016-02-17 18:11:11 +01:00
ad528d4feb
restore feature that it is allowed to only specify width or height
2016-02-17 17:51:57 +01:00
3e8894c7da
change MonochromeJpegError to JpegColorspaceError and add check for jpegs with alpha channel
2016-02-17 00:37:51 +01:00
d9b2550ceb
support for palette images for better GIF support
2016-02-17 00:37:51 +01:00
edba669000
support from multi-frame images like multipage TIFF and animated GIF
2016-02-17 00:37:46 +01:00
c6d69b231b
when verbose logging is enabled, print a traceback of possibly raised exceptions
2016-02-14 18:55:27 +01:00
b6e969d267
input images can now be file like objects, binary strings with the image content or filenames
2016-02-14 18:54:59 +01:00
cc59fbc3e4
raise exceptions instead of doing an exit()
2016-02-13 09:31:33 +01:00
James R. Barlow
900346d430
src/img2pdf.py: add get_fixed_dpi_layout_fun
2016-02-13 09:01:08 +01:00
James R. Barlow
a7dba2894f
Put version string in /Producer too
2016-02-13 09:01:03 +01:00
James R. Barlow
11affb6264
allow writing the pdf to a file-like object instead of storing everything in memory
2016-02-13 09:00:53 +01:00
31a2ce231f
cap the maximum page size at 200 dpi which is the maximum supported by PDF
2016-02-10 09:44:12 +01:00
7160f1628d
fix parsing of dpi and % units
2016-02-10 09:32:38 +01:00
917c173bfd
set img2pdf as default /producer value
2016-02-10 07:25:55 +01:00
josch
251238b410
release version 0.2.0 - big rewrite and lots of new features
...
- now Python3 only
- pep8 compliant code
- update my email to josch@mister-muffin.de
- move from github to gitlab.mister-muffin.de/josch/img2pdf
- use logging module
- add extensive test suite
- ability to read from standard input
- pdf writer:
- make more compatible with the interface of pdfrw module
- print floats which equal to their integer conversion as integer
- do not print trailing zeroes for floating point numbers
- print more linebreaks
- add binary string at beginning of PDF to indicate that the PDF
contains binary data
- handle datetime and unicode strings by using utf-16-be encoding
- new options (see --help for more details):
- --without-pdfrw
- --imgsize
- --border
- --fit
- --auto-orient
- --viewer-panes
- --viewer-initial-page
- --viewer-magnification
- --viewer-page-layout
- --viewer-fit-window
- --viewer-center-window
- --viewer-fullscreen
- remove short command line options for metadata arguments
2016-02-02 19:51:27 +01:00
josch
33ee44e50d
restore python3 compatibility
2015-04-12 20:37:57 +02:00
josch
18a41fc8df
avoid catch-all except
2015-03-21 10:01:56 +01:00
josch
4968d58621
fix typo
2015-03-21 10:01:56 +01:00
josch
f3674907d6
store times in UTC and understand YYYY-MM-DD, YYYY-MM-DDTHH:MM, YYYY-MM-DDTHH:MM:SS and everything understood by dateutil module and date --date
2015-03-21 10:01:56 +01:00