{ "info": { "author": "Ivan Habunek", "author_email": "ivan.habunek@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "===================================\nPDF417 barcode generator for Python\n===================================\n\n.. image:: https://img.shields.io/travis/ihabunek/pdf417-py.svg?maxAge=3600&style=flat-square\n :target: https://travis-ci.org/ihabunek/pdf417-py\n.. image:: https://img.shields.io/badge/author-%40ihabunek-blue.svg?maxAge=3600&style=flat-square\n :target: https://twitter.com/ihabunek\n.. image:: https://img.shields.io/github/license/ihabunek/pdf417-py.svg?maxAge=3600&style=flat-square\n :target: https://opensource.org/licenses/MIT\n.. image:: https://img.shields.io/pypi/v/pdf417gen.svg?maxAge=3600&style=flat-square\n :target: https://pypi.python.org/pypi/pdf417gen\n\n\nEasily encode your data into a 2D barcode using the PDF417 format.\n\n.. image:: https://raw.githubusercontent.com/ihabunek/pdf417-py/master/images/1_basic.jpg\n\nLicensed under the MIT License, see `LICENSE `_.\n\nInstallation\n------------\n\nInstall using pip:\n\n.. code-block::\n\n pip install pdf417gen\n\n\nCLI\n---\n\nThe ``pdf417gen`` command can be used to generate a barcode from commandline. It\ntakes the input either as an argument or from stdin.\n\n.. code-block:: bash\n\n # Show help\n pdf417gen encode --help\n\n # Encode given text and display the barcode\n pdf417gen encode \"Beautiful is better than ugly\"\n\n # Encode given text and save barcode to a file (extension determines format)\n pdf417gen encode -o barcode.png \"Explicit is better than implicit\"\n\n # Input from a file\n pdf417gen encode < input.txt\n\n # Piped input\n python -c \"import this\" | pdf417gen encode\n\n\nUsage\n-----\n\nCreating bar codes is done in two steps:\n\n* Encode a string to a list of code words using ``encode()``\n* Render the barcode using one of the rendering functions: ``render_image()``,\n ``render_svg()``.\n\nUsage overview:\n\n.. code-block:: python\n\n from pdf417gen import encode, render_image, render_svg\n\n # Some data to encode\n text = \"\"\"Beautiful is better than ugly.\n Explicit is better than implicit.\n Simple is better than complex.\n Complex is better than complicated.\"\"\"\n\n # Convert to code words\n codes = encode(text)\n\n # Generate barcode as image\n image = render_image(codes) # Pillow Image object\n image.save('barcode.jpg')\n\n # Generate barcode as SVG\n svg = render_svg(codes) # ElementTree object\n svg.write(\"barcode.svg\")\n\n\nSupports strings (unicode in py2) and byte arrays (str in py2):\n\n.. code-block:: python\n\n # These two inputs encode to the same code words\n encode(u\"love \ud83d\udc94\")\n encode(b\"love \\xf0\\x9f\\x92\\x94\")\n\n # Default encoding is UTF-8, but you can specify your own\n encode(u\"love \ud83d\udc94\", encoding=\"utf-8\")\n\n\nEncoding data\n-------------\n\nThe first step is to encode your data to a list of code words.\n\n.. code-block:: python\n\n encode(data, columns=6, security_level=2\u02d9)\n\nColumns\n~~~~~~~\n\nThe bar code size can be customized by defining the number of columns used to\nrender the data, between 1 and 30, the default value is 6. A bar code can have a\nmaximum of 90 rows, so for larger data sets you may need to increase the number\nof columns to decrease the rows count.\n\n.. code-block:: python\n\n codes = encode(text, columns=12)\n image = render_image(codes)\n image.show()\n\n.. image:: https://raw.githubusercontent.com/ihabunek/pdf417-py/master/images/2_columns.jpg\n\nSecurity level\n~~~~~~~~~~~~~~\n\nIncreasing the security level will produce stronger (and more numerous) error\ncorrection codes, making the bar code larger, but less prone to corruption. The\nsecurity level can range from 0 to 8, and procuces ``2^(level+1)`` error\ncorrection code words, meaning level 0 produces 2 code words and level 8\nproduces 512. The default security level is 2.\n\n.. code-block:: python\n\n codes = encode(text, columns=12, security_level=6)\n image = render_image(codes)\n image.show()\n\n.. image:: https://raw.githubusercontent.com/ihabunek/pdf417-py/master/images/3_security_level.jpg\n\nRender image\n------------\n\nThe ``render_image`` function takes the following options:\n\n* ``scale`` - module width, in pixels (default: 3)\n* ``ratio`` - module height to width ratio (default: 3)\n* ``padding`` - image padding, in pixels (default: 20)\n* ``fg_color`` - foreground color (default: ``#000000``)\n* ``bg_color`` - background color (default: ``#FFFFFF``)\n\n.. note::\n\n A module is the smallest element of a barcode, analogous to a pixel. Modules\n in a PDF417 bar code are tall and narrow.\n\nThe function returns a Pillow Image_ object containing the barcode.\n\nColors can be specified as hex codes or using HTML color names.\n\n.. code-block:: python\n\n codes = encode(text, columns=3)\n image = render_image(codes, scale=5, ratio=2, padding=5, fg_color=\"Indigo\", bg_color=\"#ddd\")\n image.show()\n\n.. image:: https://raw.githubusercontent.com/ihabunek/pdf417-py/master/images/4_rendering.jpg\n\nRender SVG\n----------\n\nThe ``render_svg`` function takes the following options:\n\n* ``scale`` - module width, in pixels (default: 3)\n* ``ratio`` - module height to width ratio (default: 3)\n* ``padding`` - image padding, in pixels (default: 20)\n* ``color`` - foreground color (default: `#000000`)\n\nThe function returns a ElementTree_ object containing the barcode in SVG format.\n\nUnlike ``render_image``, this function does not take a background color option.\nThe background is left transparent.\n\n.. code-block:: python\n\n codes = encode(text, columns=3)\n svg = render_svg(codes, scale=5, ratio=2, color=\"Seaweed\")\n svg.write('barcode.svg')\n\nSee also\n--------\n\n* pdf417-php_ - a PHP implementation\n* golang-pdf417_ - a Go implementation\n\n.. _pdf417-php: https://github.com/ihabunek/pdf417-php\n.. _golang-pdf417: https://github.com/ruudk/golang-pdf417\n.. _ElementTree: https://docs.python.org/3.5/library/xml.etree.elementtree.html#elementtree-objects\n.. _Image: https://pillow.readthedocs.io/en/3.2.x/reference/Image.html\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ihabunek/pdf417-py/", "keywords": "pdf417 2d barcode generator", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pdf417gen", "package_url": "https://pypi.org/project/pdf417gen/", "platform": "", "project_url": "https://pypi.org/project/pdf417gen/", "project_urls": { "Homepage": "https://github.com/ihabunek/pdf417-py/" }, "release_url": "https://pypi.org/project/pdf417gen/0.7.0/", "requires_dist": [ "Pillow (>=2.0.0)", "future" ], "requires_python": "", "summary": "PDF417 2D barcode generator for Python", "version": "0.7.0" }, "last_serial": 4453888, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b73a7af1eddb2fc1b8131c6e7844d06b", "sha256": "d9a93eb66b14ddc04880807ee740a1c602bafc2e682d36149f7c17c066f5e8c0" }, "downloads": -1, "filename": "pdf417gen-0.1.0.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "b73a7af1eddb2fc1b8131c6e7844d06b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42754, "upload_time": "2016-08-20T10:36:25", "url": "https://files.pythonhosted.org/packages/01/50/7379cbd35b27299f6baf3fc38828c60b82946ede33541be054776026531a/pdf417gen-0.1.0.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "a42fe285adbcbdc11e81dd81fdd94464", "sha256": "dacf0e4ce03692f75f29885ebb60a8ce9ca7f2ced5f8177fd74cc3d1aed9c522" }, "downloads": -1, "filename": "pdf417gen-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a42fe285adbcbdc11e81dd81fdd94464", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 18670, "upload_time": "2016-08-20T10:36:47", "url": "https://files.pythonhosted.org/packages/80/93/9858656eb5d6e3b3e13b0c52a1a465ca70c585a8f2a4a7d9764fd2105964/pdf417gen-0.1.0-py2.py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "46f7f16b13e220c490189b252560f458", "sha256": "7f591f40dcfb42b8dbf8331525ef55dafa8a283ee0f3c1dd20b256841ca94a63" }, "downloads": -1, "filename": "pdf417gen-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "46f7f16b13e220c490189b252560f458", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19219, "upload_time": "2016-08-21T18:23:22", "url": "https://files.pythonhosted.org/packages/f8/f1/d28071996a457698ff5031bdf4e71abbb7919a5637dbf5c4f76855c91237/pdf417gen-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ce05d31fb5fe1bb19ccaa85cd3e2c802", "sha256": "57e4bd7452db79ea2b7c5be2db6198b3ba8b3f52524478eed63ac4e4f788c750" }, "downloads": -1, "filename": "pdf417gen-0.2.0.tar.gz", "has_sig": false, "md5_digest": "ce05d31fb5fe1bb19ccaa85cd3e2c802", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17232, "upload_time": "2016-09-03T18:43:07", "url": "https://files.pythonhosted.org/packages/24/9d/cf0a9df789114936fce87c89eaa9efce3bd10e2a25703e3bc72768e850e6/pdf417gen-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "df380af20295d8f6fb745ffb9dc739a0", "sha256": "f192c54031f675bc39934d76fa766c8f496f3a1d404b15fc2760519641c4dfbb" }, "downloads": -1, "filename": "pdf417gen-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "df380af20295d8f6fb745ffb9dc739a0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22060, "upload_time": "2016-09-04T14:13:19", "url": "https://files.pythonhosted.org/packages/d6/5f/e9135edfe7a349a38c04668b2c991042a354b312a82ecb8bf29ca2bbffdf/pdf417gen-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e8a95a0c26f0418d44c5427bdd9a5cad", "sha256": "420e3e11c3dc106b8420d073306f4df877c696b9a36316731f2a50985390087f" }, "downloads": -1, "filename": "pdf417gen-0.3.0.tar.gz", "has_sig": false, "md5_digest": "e8a95a0c26f0418d44c5427bdd9a5cad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18970, "upload_time": "2016-09-04T14:13:22", "url": "https://files.pythonhosted.org/packages/3a/28/efc0aa7d2009e85306df2b377fea2225284480fd735563b179776431cd94/pdf417gen-0.3.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "f815d2b388450b939d6a1da9b9d7376d", "sha256": "36e7851f0a40a48c597347de4199df21b7cab1cb6818cc2012d93948c0ed904b" }, "downloads": -1, "filename": "pdf417gen-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f815d2b388450b939d6a1da9b9d7376d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22879, "upload_time": "2017-02-11T15:50:07", "url": "https://files.pythonhosted.org/packages/cb/ff/d07ed27de7cd8043d22b179a291638624b527120cf12e93fe8c6a2b7c2f9/pdf417gen-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4a126316d217a9df2a997bdf7486fa6f", "sha256": "c61f419ccc83a12fe5dc12e9165611a924208a00f19c78afb31979690138cb71" }, "downloads": -1, "filename": "pdf417gen-0.5.0.tar.gz", "has_sig": false, "md5_digest": "4a126316d217a9df2a997bdf7486fa6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19719, "upload_time": "2017-02-11T15:50:10", "url": "https://files.pythonhosted.org/packages/18/87/77b122ed1ff6f08d619e0a9c4555153691e6e6a46b5ec77bd911a55e604e/pdf417gen-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "c99865f2263aee5238a6a098642646ba", "sha256": "7e7fc6ab402675df5953ed32454886776e9bccc2800abf3497e4380ec061f3b4" }, "downloads": -1, "filename": "pdf417gen-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c99865f2263aee5238a6a098642646ba", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24745, "upload_time": "2017-05-06T10:01:56", "url": "https://files.pythonhosted.org/packages/f3/c8/58396895d8b7f5e26ede4390c54ee1612e68fa85b61bb1f1a22280f951ee/pdf417gen-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "63070361cacaf89c9fa138dcbb0fff4a", "sha256": "62301c043d8914e83305701599ab1cdb00c3591ee8e055ce945001799c42e3d6" }, "downloads": -1, "filename": "pdf417gen-0.6.0.tar.gz", "has_sig": false, "md5_digest": "63070361cacaf89c9fa138dcbb0fff4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21056, "upload_time": "2017-05-06T10:01:58", "url": "https://files.pythonhosted.org/packages/58/09/cd283ff6fc6f986010d63048c059e18b8bd220bea80e04bb41d9196df0b3/pdf417gen-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "4881457e798948df0722e0615b0bb769", "sha256": "760fdba0431615cff7b247f5abc494f230d917f2ac59cb60b01982fd1ee8fdad" }, "downloads": -1, "filename": "pdf417gen-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4881457e798948df0722e0615b0bb769", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24543, "upload_time": "2018-11-05T17:28:36", "url": "https://files.pythonhosted.org/packages/24/6f/9bed245fe09ad63acbcfdb910b7332f198a97daf8ea634dec696dab10dcd/pdf417gen-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "17a07fefd36319bd978c72981b675f2f", "sha256": "8864df6e05060f4ae35dfb8032a041f5539a0928ace7b531af727452b4073972" }, "downloads": -1, "filename": "pdf417gen-0.7.0.tar.gz", "has_sig": false, "md5_digest": "17a07fefd36319bd978c72981b675f2f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23273, "upload_time": "2018-11-05T17:28:38", "url": "https://files.pythonhosted.org/packages/d3/46/8908b2d76c9bd9964d18dba72af5e143d2f84f0215bf996129c6568b5760/pdf417gen-0.7.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4881457e798948df0722e0615b0bb769", "sha256": "760fdba0431615cff7b247f5abc494f230d917f2ac59cb60b01982fd1ee8fdad" }, "downloads": -1, "filename": "pdf417gen-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4881457e798948df0722e0615b0bb769", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24543, "upload_time": "2018-11-05T17:28:36", "url": "https://files.pythonhosted.org/packages/24/6f/9bed245fe09ad63acbcfdb910b7332f198a97daf8ea634dec696dab10dcd/pdf417gen-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "17a07fefd36319bd978c72981b675f2f", "sha256": "8864df6e05060f4ae35dfb8032a041f5539a0928ace7b531af727452b4073972" }, "downloads": -1, "filename": "pdf417gen-0.7.0.tar.gz", "has_sig": false, "md5_digest": "17a07fefd36319bd978c72981b675f2f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23273, "upload_time": "2018-11-05T17:28:38", "url": "https://files.pythonhosted.org/packages/d3/46/8908b2d76c9bd9964d18dba72af5e143d2f84f0215bf996129c6568b5760/pdf417gen-0.7.0.tar.gz" } ] }