{ "info": { "author": "Spoqa", "author_email": "dev@spoqa.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP :: Browsers", "Topic :: Internet :: WWW/HTTP :: HTTP Servers", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application", "Topic :: Printing" ], "description": "HTML to PDF rendering server\n============================\n\n.. image:: https://img.shields.io/pypi/v/html2pdf-server.svg\n :target: https://pypi.python.org/pypi/html2pdf-server\n\n.. image:: https://img.shields.io/docker/automated/spoqa/html2pdf-server.svg\n :target: https://hub.docker.com/r/spoqa/html2pdf-server/\n\nThe name says it all. You request a ``POST`` with an HTML, and then you\nwill get the response with the rendered PDF.\n\n\nHTTP API\n--------\n\nSend ``POST /`` request with ``Content-Type: text/html`` e.g.:\n\n.. code-block:: http\n\n POST / HTTP/1.1\n Content-Type: text/html; charset=utf-8\n Accept: application/pdf\n\n \n \n \n

HTML to be rendered to PDF

\n

This document will be rendered to PDF.

\n \n \n\n(Note that you have to set ``Accept: application/pdf`` header.)\n\nAnd then you will get a PDF document through its response e.g.:\n\n.. code-block:: http\n\n HTTP/1.1 200 OK\n Content-Type: application/pdf\n Server: html2pdf-server\n\n (...omitted...)\n\n\nAvailable mime types\n''''''''''''''''''''\n\nYou can set ``Accept`` header to various mime types.\n\napplication/pdf\n respond a PDF document. this type is the default type.\n\nimage/png\n respond a PNG image.\n\nimage/jpeg\n respond a JPEG image.\n\n\nSession in ``curl``\n-------------------\n\n.. code-block:: console\n\n $ cat input.html\n \n \n \n

HTML to be rendered to PDF

\n

This document will be rendered to PDF.

\n \n \n $ curl --header 'Content-Type: text/html' \\\n --data \"`cat input.html`\" \\\n --output output.pdf \\\n http://localhost:8080/\n $ open output.pdf # Use xdg-open on Linux\n\nResult screenshot:\n\n.. image:: https://github.com/spoqa/html2pdf-server/raw/master/screenshot.png\n :alt: Result screenshot\n\n\nGetting started using Docker\n----------------------------\n\nDue to its non-Python dependencies the easist way to use this is using Docker.\nThe official Docker image exposes 8080 port for HTTP server.\n\n.. code-block:: console\n\n $ docker run -p 8080:8080 spoqa/html2pdf-server\n\nIf you need a pong endpoint for health check specify ``PONG_PATH`` environment\nvariable:\n\n.. code-block:: console\n\n $ docker run -e PONG_PATH=/ping/ -p 8080:8080 spoqa/html2pdf-server\n Serving on http://0.0.0.0:8080\n\n\nGetting started without Docker\n------------------------------\n\nInstallation\n''''''''''''\n\nYou can install it using ``pip``:\n\n.. code-block:: console\n\n $ pip install --user git+git://github.com/spoqa/html2pdf-server.git\n\nNote that WeasyPrint_ has several dependencies that need to be installed\nusing system package managers e.g. APT, Homebrew. `Read the docs.`__\n\n.. _WeasyPrint: http://weasyprint.org/\n__ http://weasyprint.org/docs/install/#by-platform\n\n\nRunning server\n''''''''''''''\n\nUse ``html2pdfd`` command:\n\n.. code-block:: console\n\n $ html2pdfd --port 8080\n Serving on http://0.0.0.0:8080\n\nOr you can use your preferred WSGI server as well (WSGI endpoint is\n``html2pdfd:app``):\n\n.. code-block:: console\n\n $ aiohttp-wsgi-serve html2pdfd:app\n Serving on http://:::8080 http://0.0.0.0:8080\n\n\nLicense\n-------\n\nDistributed under AGPLv3_ or later.\n\n.. _AGPLv3: https://www.gnu.org/licenses/agpl-3.0.html\n\n\nChangelog\n---------\n\nVersion 1.2.2\n'''''''''''''\n\nReleased on January 31, 2017.\n\n- Fixed a crash during the server prints the first log.\n\n\nVersion 1.2.1\n'''''''''''''\n\nReleased on January 31, 2017.\n\n- Docker image now includes built-in fonts for Chinese/Japanese/Korean.\n\n\nVersion 1.2.0\n'''''''''''''\n\nReleased on January 27, 2017.\n\n- The prerequisite Python version became 3.5 or higher.\n Python 3.4 or lower are no more supported.\n- Replaced waitress_ with aiohttp-wsgi_.\n- The Docker image now uses Python 3.5 instead of 3.4.\n\n.. _waitress: https://github.com/Pylons/waitress\n.. _aiohttp-wsgi: https://github.com/etianen/aiohttp-wsgi\n\n\nVersion 1.1.0\n'''''''''''''\n\nReleased on January 26, 2017.\n\n- Added an option to enable pong endpoint for health check.\n\n - ``PONG_PATH`` environment variable for Docker.\n - ``--pong-path`` option for CLI.\n\n- Fixed a bug that ``--help`` option crashed while it's trying to render\n default values.\n\n\nVersion 1.0.0\n'''''''''''''\n\nInitial release. Released on January 25, 2017.\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/spoqa/html2pdf-server", "keywords": "", "license": "AGPLv3 or later", "maintainer": "", "maintainer_email": "", "name": "html2pdf-server", "package_url": "https://pypi.org/project/html2pdf-server/", "platform": "", "project_url": "https://pypi.org/project/html2pdf-server/", "project_urls": { "Homepage": "https://github.com/spoqa/html2pdf-server" }, "release_url": "https://pypi.org/project/html2pdf-server/1.2.2/", "requires_dist": null, "requires_python": "", "summary": "HTTP server that renders HTML to PDF", "version": "1.2.2" }, "last_serial": 2608494, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "e95f42a40df1e8ef9088c81d005f5bb7", "sha256": "5e42312f49f724c4403a6d3c9490e437664789b9a38ca08cb48f4084ae205ead" }, "downloads": -1, "filename": "html2pdf_server-1.0.0-py3-none-any.whl", "has_sig": true, "md5_digest": "e95f42a40df1e8ef9088c81d005f5bb7", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7533, "upload_time": "2017-01-25T13:04:48", "url": "https://files.pythonhosted.org/packages/0e/b9/5b8fa9b7f2bcb6c00c898fa31d71146d2cb24d0b64d56f8e64a469cce572/html2pdf_server-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e097739a4479e45eebae6db21bbe330", "sha256": "d5ec95764975ed9c59612aa48c6e0aec65247813973ac3d1ada33b94532ae47c" }, "downloads": -1, "filename": "html2pdf-server-1.0.0.tar.gz", "has_sig": true, "md5_digest": "8e097739a4479e45eebae6db21bbe330", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3928, "upload_time": "2017-01-25T13:04:45", "url": "https://files.pythonhosted.org/packages/e0/69/41203d48e649a2f909623c68ee81ff9497d281af26c493abb9c93e6d6aec/html2pdf-server-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "c33f5290c4fc86192009fe7f481f5c45", "sha256": "fbd3212ec898adb1127fe37472e4c2663800c9dd654a70a529c3a646e39addd7" }, "downloads": -1, "filename": "html2pdf_server-1.1.0-py3-none-any.whl", "has_sig": true, "md5_digest": "c33f5290c4fc86192009fe7f481f5c45", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 8410, "upload_time": "2017-01-26T04:46:50", "url": "https://files.pythonhosted.org/packages/73/3d/16d6d6b6f41eba13e2206c22358ad23c1acc4b5157ea58bb2f6c238ab595/html2pdf_server-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c40cbe642e74e86c797ef6024cc7bbc", "sha256": "f222467930dadeced490f4b3f12f7b02044ad05c68a6d9d0cf8880db8a0d519c" }, "downloads": -1, "filename": "html2pdf-server-1.1.0.tar.gz", "has_sig": true, "md5_digest": "2c40cbe642e74e86c797ef6024cc7bbc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4606, "upload_time": "2017-01-26T04:46:47", "url": "https://files.pythonhosted.org/packages/83/f3/d98f9a5675652aacb2e1474d4ec13b92f2a268a9a9fab2d12b9545b3e89e/html2pdf-server-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "a78df8d1c2871aa2447a310f48022918", "sha256": "6714e97d9c0c470be9479505cc4d35e86c7cbd9f01c4ebd75ecae2530645d5e1" }, "downloads": -1, "filename": "html2pdf_server-1.2.0-py3-none-any.whl", "has_sig": true, "md5_digest": "a78df8d1c2871aa2447a310f48022918", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 9146, "upload_time": "2017-01-26T21:58:00", "url": "https://files.pythonhosted.org/packages/6c/5b/b663f99358dbe756e33eb9a400ad4a2f1b4f42b562aa18017e6a592895ae/html2pdf_server-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8fef551396ca8fcf6ed1a791b4600783", "sha256": "6d3973021e33c67b066e15ffd3329556a3780f5e7179c258a793097dac86e42b" }, "downloads": -1, "filename": "html2pdf-server-1.2.0.tar.gz", "has_sig": true, "md5_digest": "8fef551396ca8fcf6ed1a791b4600783", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4984, "upload_time": "2017-01-26T21:57:57", "url": "https://files.pythonhosted.org/packages/63/92/4d7d4f1a0a0287a7a40617e59ba4a0e1ff3a0c138917d9a50b350be29a76/html2pdf-server-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "8a59c2d698e826cf6c45f0c907e9081d", "sha256": "3f1936584059c1ec0dfd5f8fee3e279e23fd764c1caf790abd54e51d17accda5" }, "downloads": -1, "filename": "html2pdf_server-1.2.1-py3-none-any.whl", "has_sig": true, "md5_digest": "8a59c2d698e826cf6c45f0c907e9081d", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 9249, "upload_time": "2017-01-31T05:29:29", "url": "https://files.pythonhosted.org/packages/d5/2d/d3d0e5dcb799a80168b97a485abc8d3a9570007405e1aeab9f73100cba83/html2pdf_server-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8ab7321917a79098eb3c947b1ec2423b", "sha256": "cb2b896a255e6df76bc121fd6bf44c41809c89f5b095e388524a12cfdc0a70d9" }, "downloads": -1, "filename": "html2pdf-server-1.2.1.tar.gz", "has_sig": true, "md5_digest": "8ab7321917a79098eb3c947b1ec2423b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5051, "upload_time": "2017-01-31T05:29:32", "url": "https://files.pythonhosted.org/packages/ac/20/fdf89bd811f84d225504d07af602a0239ecd8b98fa6798bba5efe76c3cee/html2pdf-server-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "3310ab69efd1071fa2bd3098e279151c", "sha256": "1b844692841f974ad6e3a51dff3455a97d4a82e62cd917eaf622d76f0dd019ad" }, "downloads": -1, "filename": "html2pdf_server-1.2.2-py3-none-any.whl", "has_sig": true, "md5_digest": "3310ab69efd1071fa2bd3098e279151c", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 9298, "upload_time": "2017-01-31T06:53:09", "url": "https://files.pythonhosted.org/packages/a0/02/6fe669a4a9f407515d99e443f9670578159ccff9d6d522d4809bd13d4423/html2pdf_server-1.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e7f3f18131900bb132e1b4c5fb5ce167", "sha256": "d72f2e42102b7603233bd5d2f8c48477915a0875ede257cd1bc187d421f5dc07" }, "downloads": -1, "filename": "html2pdf-server-1.2.2.tar.gz", "has_sig": true, "md5_digest": "e7f3f18131900bb132e1b4c5fb5ce167", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5084, "upload_time": "2017-01-31T06:53:06", "url": "https://files.pythonhosted.org/packages/eb/67/53dcf60b7f1cabc4c6045df9fdac70fab7cabec12969ba61a6a72021c959/html2pdf-server-1.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3310ab69efd1071fa2bd3098e279151c", "sha256": "1b844692841f974ad6e3a51dff3455a97d4a82e62cd917eaf622d76f0dd019ad" }, "downloads": -1, "filename": "html2pdf_server-1.2.2-py3-none-any.whl", "has_sig": true, "md5_digest": "3310ab69efd1071fa2bd3098e279151c", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 9298, "upload_time": "2017-01-31T06:53:09", "url": "https://files.pythonhosted.org/packages/a0/02/6fe669a4a9f407515d99e443f9670578159ccff9d6d522d4809bd13d4423/html2pdf_server-1.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e7f3f18131900bb132e1b4c5fb5ce167", "sha256": "d72f2e42102b7603233bd5d2f8c48477915a0875ede257cd1bc187d421f5dc07" }, "downloads": -1, "filename": "html2pdf-server-1.2.2.tar.gz", "has_sig": true, "md5_digest": "e7f3f18131900bb132e1b4c5fb5ce167", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5084, "upload_time": "2017-01-31T06:53:06", "url": "https://files.pythonhosted.org/packages/eb/67/53dcf60b7f1cabc4c6045df9fdac70fab7cabec12969ba61a6a72021c959/html2pdf-server-1.2.2.tar.gz" } ] }