Commit graph

250 commits

Author SHA1 Message Date
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
02fad70e4b README.md: add another feature idea 2015-05-10 14:24:12 +02:00
josch
fdee171d40 README.md: add more wishlist bugs 2015-05-09 20:52:07 +02:00
josch
b7aa09834c README.md: update treatment of non-jpeg files 2015-05-09 07:39:50 +02: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
josch
81647dd06f use common variable for datetime format string 2015-03-21 10:01:56 +01:00
josch
5a1f0701a3 to allow non-ascii characters, encode strings as utf-16-be (big endian) and escape backslashes and parenthesis 2015-03-21 10:01:56 +01:00
josch
317a0ee7f2 do not encode as utf8 as pdf is ascii, add safer handling across py2/py3 2015-03-21 10:01:56 +01:00
xiota
53fdf81c37 Usage
* rename "Commandline Options" to "Usage"
  * General Notes
  * Controlling Page Size
  * Colorspace
2015-03-20 20:02:50 -07:00
xiota
be21c4bbf3 general editing 2015-03-20 19:46:47 -07:00
xiota
592cdc1cdb Changes to pdf page size handling
Changes to `valid_size()`
* accept common page sizes, such as letter and a4.
* parse dimensions of format: AuxBv#, where A is width, u is units, B is height, v is units, # are options.
* accept units: in, cm, mm, pt

Changes to `convert()`:
* resize pages based on dpi calculations
* default resize images into page size (like default resize in imagemagick)
* implement exact resizing (ignore dpi; equiv to ! in imagemagick)

Created `get_ndpi()`:
* provides dpi for page resizing
* implement fill resizing (equiv to ^ in imagemagick)

Other changes:
* default dpi in global variable
2015-03-20 06:54:11 -07:00
josch
36fb9173fe add --version option and __version__ module variable and use ~git version suffix 2015-03-07 03:20:14 +01:00
josch
d5fc324b7b cater for python-pil versions without close() attribute (the 3rd fix) 2015-03-07 03:02:00 +01:00
josch
b90e385efe cater for python-pil versions without close() attribute (the 2nd fix) 2015-03-07 03:01:02 +01:00
josch
486361e716 cater for python-pil versions without close() attribute 2015-03-07 02:59:12 +01:00
josch
23b77d2544 README.md: add Debian/Ubuntu dependencies 2015-03-07 02:58:44 +01:00
josch
9389d81a14 fix testsuite after commit 2cb8e55f broke it - thanks Jakub Wilk! 2015-03-06 23:55:32 +01:00
Jakub Wilk
5d7975164d remove unused imports 2015-03-06 22:51:58 +01:00
josch
53968c31e0 remove -x and -y and replace by -s/--pagesize. Change short option for --subject to -S. 2015-03-06 19:29:24 +01:00
josch
ad8567d352 add more details to code comment 2015-03-06 19:19:21 +01:00
josch
2cb8e55f1d output pdf image size with four significant digits 2015-03-06 19:16:36 +01:00
Jakub Wilk
8f757bc3bb README: fix a typo 2015-03-05 23:23:16 +01:00
josch
4e6a4b9378 release 0.1.5 2015-02-16 19:29:59 +01:00
josch
e8dc019bd5 update CHANGES.rst 2015-02-16 19:29:20 +01:00
josch
aabd104114 update tests handling 2015-02-16 19:23:21 +01:00
josch
4d005c8443 write to sys.stdout.buffer and fall back to sys.stdout 2015-02-16 19:20:06 +01:00
josch
e810f3baf4 close cStringIO and PIL.Image 2015-02-16 19:19:49 +01:00
josch
90e954dc0a make sure dpi are read as integers and divided using float division 2015-02-16 19:18:46 +01:00
josch
8887fe21f4 print floats with four decimal places 2015-02-16 19:09:34 +01:00
josch
9ff6ebec04 pass on --nodate option 2015-02-16 14:49:53 +01:00
josch
3fdd824201 support file objects as input 2015-02-16 14:49:29 +01:00
josch
18ca3b4491 make 2nd, 3rd and 4th argument optional by supplying None as default 2015-02-16 07:15:10 +01:00
Erik Jensen
c68ce6a48d Add CMYK test images 2015-02-16 07:09:38 +01:00
Erik Jensen
e4db4e9e8e Enable support for CMYK images
CMYK TIFFs and JPEGs both work. CMYK JPEG2000 images have not been
tested. Adobe Photoshop and some other software generate inverted CMYK
JPEGs. The image is assumed to be inverted if the "Adobe" (APP14) tag is
present. Images can be forced inverted with `-C "CMYK;I"`, and forced
not inverted with `-C CMYK`.
2015-02-16 07:09:38 +01:00
josch
454952724d prepare 0.1.4 release 2015-01-21 11:00:41 +01:00
josch
90ddbcc4df Merge pull request from lukahn/master
allow setting both, x and y at the same time and update README
2015-01-15 08:50:08 +01:00
lukahn
d9054ddfd3 Updated library section to reflect latest implementation 2015-01-15 16:19:18 +11:00
lukahn
5c7753d6c4 Fix for adding custom resolutions 2015-01-15 16:15:05 +11:00
josch
700e62f1d8 make output reproducible by sorting and --nodate option 2015-01-07 16:23:52 +01:00
josch
b143867a72 add Python 3 support 2015-01-07 15:56:24 +01:00