Metadata-Version: 1.1
Name: html2pdf-server
Version: 1.2.2
Summary: HTTP server that renders HTML to PDF
Home-page: https://github.com/spoqa/html2pdf-server
Author: Spoqa
Author-email: dev@spoqa.com
License: AGPLv3 or later
Description: HTML to PDF rendering server
        ============================
        
        .. image:: https://img.shields.io/pypi/v/html2pdf-server.svg
           :target: https://pypi.python.org/pypi/html2pdf-server
        
        .. image:: https://img.shields.io/docker/automated/spoqa/html2pdf-server.svg
           :target: https://hub.docker.com/r/spoqa/html2pdf-server/
        
        The name says it all.  You request a ``POST`` with an HTML, and then you
        will get the response with the rendered PDF.
        
        
        HTTP API
        --------
        
        Send ``POST /`` request with ``Content-Type: text/html`` e.g.:
        
        .. code-block:: http
        
           POST / HTTP/1.1
           Content-Type: text/html; charset=utf-8
           Accept: application/pdf
        
           <!DOCTYPE>
           <html>
           <body>
             <h1>HTML to be rendered to PDF</h1>
             <p>This document will be rendered to PDF.</p>
           </body>
           </html>
        
        (Note that you have to set ``Accept: application/pdf`` header.)
        
        And then you will get a PDF document through its response e.g.:
        
        .. code-block:: http
        
           HTTP/1.1 200 OK
           Content-Type: application/pdf
           Server: html2pdf-server
        
           (...omitted...)
        
        
        Available mime types
        ''''''''''''''''''''
        
        You can set ``Accept`` header to various mime types.
        
        application/pdf
          respond a PDF document.  this type is the default type.
        
        image/png
          respond a PNG image.
        
        image/jpeg
          respond a JPEG image.
        
        
        Session in ``curl``
        -------------------
        
        .. code-block:: console
        
           $ cat input.html
           <!DOCTYPE>
           <html>
           <body>
             <h1>HTML to be rendered to PDF</h1>
             <p>This document will be rendered to PDF.</p>
           </body>
           </html>
           $ curl --header 'Content-Type: text/html' \
                  --data "`cat input.html`" \
                  --output output.pdf \
                  http://localhost:8080/
           $ open output.pdf  # Use xdg-open on Linux
        
        Result screenshot:
        
        .. image:: https://github.com/spoqa/html2pdf-server/raw/master/screenshot.png
           :alt: Result screenshot
        
        
        Getting started using Docker
        ----------------------------
        
        Due to its non-Python dependencies the easist way to use this is using Docker.
        The official Docker image exposes 8080 port for HTTP server.
        
        .. code-block:: console
        
           $ docker run -p 8080:8080 spoqa/html2pdf-server
        
        If you need a pong endpoint for health check specify ``PONG_PATH`` environment
        variable:
        
        .. code-block:: console
        
           $ docker run -e PONG_PATH=/ping/ -p 8080:8080 spoqa/html2pdf-server
           Serving on http://0.0.0.0:8080
        
        
        Getting started without Docker
        ------------------------------
        
        Installation
        ''''''''''''
        
        You can install it using ``pip``:
        
        .. code-block:: console
        
           $ pip install --user git+git://github.com/spoqa/html2pdf-server.git
        
        Note that WeasyPrint_ has several dependencies that need to be installed
        using system package managers e.g. APT, Homebrew.  `Read the docs.`__
        
        .. _WeasyPrint: http://weasyprint.org/
        __ http://weasyprint.org/docs/install/#by-platform
        
        
        Running server
        ''''''''''''''
        
        Use ``html2pdfd`` command:
        
        .. code-block:: console
        
           $ html2pdfd --port 8080
           Serving on http://0.0.0.0:8080
        
        Or you can use your preferred WSGI server as well (WSGI endpoint is
        ``html2pdfd:app``):
        
        .. code-block:: console
        
           $ aiohttp-wsgi-serve html2pdfd:app
           Serving on http://:::8080 http://0.0.0.0:8080
        
        
        License
        -------
        
        Distributed under AGPLv3_ or later.
        
        .. _AGPLv3: https://www.gnu.org/licenses/agpl-3.0.html
        
        
        Changelog
        ---------
        
        Version 1.2.2
        '''''''''''''
        
        Released on January 31, 2017.
        
        - Fixed a crash during the server prints the first log.
        
        
        Version 1.2.1
        '''''''''''''
        
        Released on January 31, 2017.
        
        - Docker image now includes built-in fonts for Chinese/Japanese/Korean.
        
        
        Version 1.2.0
        '''''''''''''
        
        Released on January 27, 2017.
        
        - The prerequisite Python version became 3.5 or higher.
          Python 3.4 or lower are no more supported.
        - Replaced waitress_ with aiohttp-wsgi_.
        - The Docker image now uses Python 3.5 instead of 3.4.
        
        .. _waitress: https://github.com/Pylons/waitress
        .. _aiohttp-wsgi: https://github.com/etianen/aiohttp-wsgi
        
        
        Version 1.1.0
        '''''''''''''
        
        Released on January 26, 2017.
        
        - Added an option to enable pong endpoint for health check.
        
          - ``PONG_PATH`` environment variable for Docker.
          - ``--pong-path`` option for CLI.
        
        - Fixed a bug that ``--help`` option crashed while it's trying to render
          default values.
        
        
        Version 1.0.0
        '''''''''''''
        
        Initial release.  Released on January 25, 2017.
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Internet :: WWW/HTTP :: Browsers
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Classifier: Topic :: Printing
