.. image:: https://img.shields.io/pypi/v/rst2pdf.svg
:target: https://pypi.org/project/rst2pdf/
.. image:: https://img.shields.io/pypi/pyversions/rst2pdf.svg
:target: https://pypi.org/project/rst2pdf/
.. image:: https://img.shields.io/pypi/l/rst2pdf.svg
:target: https://pypi.org/project/rst2pdf/
=======================================
rst2pdf: Use a text editor. Make a PDF.
=======================================
The usual way of creating PDF from reStructuredText is by going through LaTeX.
This tool provides an alternative by producing PDF directly using the ReportLab
library.
More information is available at the `main website <https://rst2pdf.org>`_.
Features
--------
* User-defined page layout. Multiple frames per page, multiple layouts per
document.
* Page transitions
* Cascading stylesheet mechanism, define only what you want changed.
* Supports TTF and Type1 font embedding.
* Any number of paragraph styles using the class directive.
* Any number of character styles using text roles.
* Custom page sizes and margins.
* Syntax highlighter for many languages, using Pygments.
* Supports embedding almost any kind of raster or vector images.
* Supports hyphenation.
* `Sphinx <https://www.sphinx-doc.org>`_ integration
* `Full user's manual <https://rst2pdf.org/static/manual.pdf>`_
Installation
------------
*rst2pdf* supports Python 3.8 or greater. Version 0.99 was the last version to support Python 3.6 & 3.7, with 0.97 the last version to support Python 2.7.
Install from PyPI
~~~~~~~~~~~~~~~~~
The latest released version may be installed from PyPI by using ``pipx``::
$ pipx install rst2pdf
rst2pdf also has support for a number of features that require additional dependencies. Installation of all the
required dependencies using ``pipx`` may be installed using::
$ pipx install rst2pdf[aafiguresupport,mathsupport,plantumlsupport,rawhtmlsupport,sphinx,svgsupport]
Install from Snap
~~~~~~~~~~~~~~~~~
If you are using a system that supports `snaps <https://snapcraft.io/>`__
then you can install from there with::
$ snap install rst2pdf
Install from GitHub
~~~~~~~~~~~~~~~~~~~
Work on rst2pdf has restarted on GitHub, with the goals of adding new
features, addressing outstanding issues, and not breaking anything. You
can clone the repository and install this version::
$ git clone https://github.com/rst2pdf/rst2pdf
$ cd rst2pdf
$ git checkout <desired-branch> # if you want something other than main
$ pipx install .[aafiguresupport,mathsupport,plantumlsupport,rawhtmlsupport,sphinx,svgsupport]
If you intend to work on rst2pdf's source code, see ``doc/DEVELOPERS.rst``.
Usage
-----
To convert a reStructuredText document to a PDF, simply run::
$ rst2pdf <document name> output.pdf
For information on available options, use ``-h``::
$ rst2pdf -h
To enable basic integration with Sphinx, modify your ``conf.py`` file to enable
the ``rst2pdf.pdfbuilder`` extension and configure the ``pdf_documents``
option. For example::
extensions = [
# ...
'rst2pdf.pdfbuilder',
]
# Grouping the document tree into PDF files. List of tuples
# (source start file, target name, title, author, options).
pdf_documents = [
('index', 'MyProject', 'My Project', 'Author Name'),
]
For information on the ``pdf_documents`` option and the many other options
available, refer to the `manual <https://rst2pdf.org/static/manual.pdf>`_.
Contributing
------------
See `CONTRIBUTING <CONTRIBUTING.rst>`_.
Code of conduct
---------------
rst2pdf is an inclusive and welcoming community. To participate in this project, everyone is bound by our
`Community Code of Conduct <CODE_OF_CONDUCT.rst>`_.
Raw data
{
"_id": null,
"home_page": "https://rst2pdf.org",
"name": "rst2pdf",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "restructured convert rst pdf docutils pygments reportlab",
"author": "rst2pdf maintainers",
"author_email": "maintainers@rstpdf.org",
"download_url": "https://files.pythonhosted.org/packages/63/df/84aec6026fad6c98aaff21ad9f7af615e84edca145f463b2a8f39d4047e0/rst2pdf-0.101.tar.gz",
"platform": null,
"description": ".. image:: https://img.shields.io/pypi/v/rst2pdf.svg\n :target: https://pypi.org/project/rst2pdf/\n\n.. image:: https://img.shields.io/pypi/pyversions/rst2pdf.svg\n :target: https://pypi.org/project/rst2pdf/\n\n.. image:: https://img.shields.io/pypi/l/rst2pdf.svg\n :target: https://pypi.org/project/rst2pdf/\n\n=======================================\nrst2pdf: Use a text editor. Make a PDF.\n=======================================\n\nThe usual way of creating PDF from reStructuredText is by going through LaTeX.\nThis tool provides an alternative by producing PDF directly using the ReportLab\nlibrary.\n\nMore information is available at the `main website <https://rst2pdf.org>`_.\n\n\nFeatures\n--------\n\n* User-defined page layout. Multiple frames per page, multiple layouts per\n document.\n\n* Page transitions\n\n* Cascading stylesheet mechanism, define only what you want changed.\n\n* Supports TTF and Type1 font embedding.\n\n* Any number of paragraph styles using the class directive.\n\n* Any number of character styles using text roles.\n\n* Custom page sizes and margins.\n\n* Syntax highlighter for many languages, using Pygments.\n\n* Supports embedding almost any kind of raster or vector images.\n\n* Supports hyphenation.\n\n* `Sphinx <https://www.sphinx-doc.org>`_ integration\n\n* `Full user's manual <https://rst2pdf.org/static/manual.pdf>`_\n\nInstallation\n------------\n\n*rst2pdf* supports Python 3.8 or greater. Version 0.99 was the last version to support Python 3.6 & 3.7, with 0.97 the last version to support Python 2.7.\n\nInstall from PyPI\n~~~~~~~~~~~~~~~~~\n\nThe latest released version may be installed from PyPI by using ``pipx``::\n\n $ pipx install rst2pdf\n\nrst2pdf also has support for a number of features that require additional dependencies. Installation of all the\nrequired dependencies using ``pipx`` may be installed using::\n\n $ pipx install rst2pdf[aafiguresupport,mathsupport,plantumlsupport,rawhtmlsupport,sphinx,svgsupport]\n\nInstall from Snap\n~~~~~~~~~~~~~~~~~\n\nIf you are using a system that supports `snaps <https://snapcraft.io/>`__\nthen you can install from there with::\n\n $ snap install rst2pdf\n\nInstall from GitHub\n~~~~~~~~~~~~~~~~~~~\n\nWork on rst2pdf has restarted on GitHub, with the goals of adding new\nfeatures, addressing outstanding issues, and not breaking anything. You\ncan clone the repository and install this version::\n\n $ git clone https://github.com/rst2pdf/rst2pdf\n $ cd rst2pdf\n $ git checkout <desired-branch> # if you want something other than main\n $ pipx install .[aafiguresupport,mathsupport,plantumlsupport,rawhtmlsupport,sphinx,svgsupport]\n\nIf you intend to work on rst2pdf's source code, see ``doc/DEVELOPERS.rst``.\n\n\nUsage\n-----\n\nTo convert a reStructuredText document to a PDF, simply run::\n\n $ rst2pdf <document name> output.pdf\n\nFor information on available options, use ``-h``::\n\n $ rst2pdf -h\n\nTo enable basic integration with Sphinx, modify your ``conf.py`` file to enable\nthe ``rst2pdf.pdfbuilder`` extension and configure the ``pdf_documents``\noption. For example::\n\n extensions = [\n # ...\n 'rst2pdf.pdfbuilder',\n ]\n\n # Grouping the document tree into PDF files. List of tuples\n # (source start file, target name, title, author, options).\n pdf_documents = [\n ('index', 'MyProject', 'My Project', 'Author Name'),\n ]\n\nFor information on the ``pdf_documents`` option and the many other options\navailable, refer to the `manual <https://rst2pdf.org/static/manual.pdf>`_.\n\nContributing\n------------\n\nSee `CONTRIBUTING <CONTRIBUTING.rst>`_.\n\nCode of conduct\n---------------\n\nrst2pdf is an inclusive and welcoming community. To participate in this project, everyone is bound by our\n`Community Code of Conduct <CODE_OF_CONDUCT.rst>`_.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Convert reStructured Text to PDF via ReportLab.",
"version": "0.101",
"project_urls": {
"Bug Reports": "https://github.com/rst2pdf/rst2pdf/issues",
"Download": "https://github.com/rst2pdf/rst2pdf/releases",
"Homepage": "https://rst2pdf.org",
"Source": "https://github.com/rst2pdf/rst2pdf"
},
"split_keywords": [
"restructured",
"convert",
"rst",
"pdf",
"docutils",
"pygments",
"reportlab"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "730abeb33bdf2c623b497b8344911171b36a6254bc5dea6706b57bc946976db4",
"md5": "d205383887d072d908530b154c607f06",
"sha256": "0f93892692af3a652c959694082dacb2468d13d915599beca08b3ed5c7fc223e"
},
"downloads": -1,
"filename": "rst2pdf-0.101-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d205383887d072d908530b154c607f06",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 177077,
"upload_time": "2023-08-02T19:45:11",
"upload_time_iso_8601": "2023-08-02T19:45:11.400839Z",
"url": "https://files.pythonhosted.org/packages/73/0a/beb33bdf2c623b497b8344911171b36a6254bc5dea6706b57bc946976db4/rst2pdf-0.101-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "63df84aec6026fad6c98aaff21ad9f7af615e84edca145f463b2a8f39d4047e0",
"md5": "a9b1c2b7efe8c508307b851d743e75b2",
"sha256": "005f05b2c10814799e636a15ac03cd7bce696e680a58ee76c83eb270d3734d28"
},
"downloads": -1,
"filename": "rst2pdf-0.101.tar.gz",
"has_sig": false,
"md5_digest": "a9b1c2b7efe8c508307b851d743e75b2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 12136932,
"upload_time": "2023-08-02T19:45:21",
"upload_time_iso_8601": "2023-08-02T19:45:21.433942Z",
"url": "https://files.pythonhosted.org/packages/63/df/84aec6026fad6c98aaff21ad9f7af615e84edca145f463b2a8f39d4047e0/rst2pdf-0.101.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-02 19:45:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rst2pdf",
"github_project": "rst2pdf",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "aafigure",
"specs": [
[
"==",
"0.6"
]
]
},
{
"name": "alabaster",
"specs": [
[
"==",
"0.7.13"
]
]
},
{
"name": "arabic-reshaper",
"specs": [
[
"==",
"3.0.0"
]
]
},
{
"name": "asn1crypto",
"specs": [
[
"==",
"1.5.1"
]
]
},
{
"name": "attrs",
"specs": [
[
"==",
"22.2.0"
]
]
},
{
"name": "babel",
"specs": [
[
"==",
"2.12.1"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2022.12.7"
]
]
},
{
"name": "cffi",
"specs": [
[
"==",
"1.15.1"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
"==",
"3.1.0"
]
]
},
{
"name": "click",
"specs": [
[
"==",
"8.1.3"
]
]
},
{
"name": "contourpy",
"specs": [
[
"==",
"1.0.7"
]
]
},
{
"name": "cryptography",
"specs": [
[
"==",
"39.0.2"
]
]
},
{
"name": "cssselect2",
"specs": [
[
"==",
"0.7.0"
]
]
},
{
"name": "cycler",
"specs": [
[
"==",
"0.11.0"
]
]
},
{
"name": "docutils",
"specs": [
[
"==",
"0.19"
]
]
},
{
"name": "exceptiongroup",
"specs": [
[
"==",
"1.1.1"
]
]
},
{
"name": "fonttools",
"specs": [
[
"==",
"4.39.2"
]
]
},
{
"name": "html5lib",
"specs": [
[
"==",
"1.1"
]
]
},
{
"name": "httplib2",
"specs": [
[
"==",
"0.21.0"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"3.4"
]
]
},
{
"name": "imagesize",
"specs": [
[
"==",
"1.4.1"
]
]
},
{
"name": "importlib-metadata",
"specs": [
[
"==",
"6.0.0"
]
]
},
{
"name": "iniconfig",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "jinja2",
"specs": [
[
"==",
"3.1.2"
]
]
},
{
"name": "kiwisolver",
"specs": [
[
"==",
"1.4.4"
]
]
},
{
"name": "lxml",
"specs": [
[
"==",
"4.9.2"
]
]
},
{
"name": "markupsafe",
"specs": [
[
"==",
"2.1.2"
]
]
},
{
"name": "matplotlib",
"specs": [
[
"==",
"3.7.1"
]
]
},
{
"name": "numpy",
"specs": [
[
"==",
"1.24.2"
]
]
},
{
"name": "oscrypto",
"specs": [
[
"==",
"1.3.0"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"23.0"
]
]
},
{
"name": "pillow",
"specs": [
[
"==",
"9.4.0"
]
]
},
{
"name": "plantuml",
"specs": [
[
"==",
"0.3.0"
]
]
},
{
"name": "pluggy",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "pycparser",
"specs": [
[
"==",
"2.21"
]
]
},
{
"name": "pygments",
"specs": [
[
"==",
"2.14.0"
]
]
},
{
"name": "pyhanko",
"specs": [
[
"==",
"0.17.2"
]
]
},
{
"name": "pyhanko-certvalidator",
"specs": [
[
"==",
"0.20.1"
]
]
},
{
"name": "pymupdf",
"specs": [
[
"==",
"1.21.1"
]
]
},
{
"name": "pyparsing",
"specs": [
[
"==",
"3.0.9"
]
]
},
{
"name": "pypdf",
"specs": [
[
"==",
"3.5.2"
]
]
},
{
"name": "pypng",
"specs": [
[
"==",
"0.20220715.0"
]
]
},
{
"name": "pytest",
"specs": [
[
"==",
"7.2.2"
]
]
},
{
"name": "python-bidi",
"specs": [
[
"==",
"0.4.2"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
"==",
"2.8.2"
]
]
},
{
"name": "pytz",
"specs": [
[
"==",
"2022.7.1"
]
]
},
{
"name": "pytz-deprecation-shim",
"specs": [
[
"==",
"0.1.0.post0"
]
]
},
{
"name": "pyyaml",
"specs": [
[
"==",
"6.0"
]
]
},
{
"name": "qrcode",
"specs": [
[
"==",
"7.4.2"
]
]
},
{
"name": "reportlab",
"specs": [
[
"==",
"3.6.12"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.28.2"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.16.0"
]
]
},
{
"name": "smartypants",
"specs": [
[
"==",
"2.0.1"
]
]
},
{
"name": "snowballstemmer",
"specs": [
[
"==",
"2.2.0"
]
]
},
{
"name": "sphinx",
"specs": [
[
"==",
"6.1.3"
]
]
},
{
"name": "sphinxcontrib-applehelp",
"specs": [
[
"==",
"1.0.4"
]
]
},
{
"name": "sphinxcontrib-devhelp",
"specs": [
[
"==",
"1.0.2"
]
]
},
{
"name": "sphinxcontrib-htmlhelp",
"specs": [
[
"==",
"2.0.1"
]
]
},
{
"name": "sphinxcontrib-jsmath",
"specs": [
[
"==",
"1.0.1"
]
]
},
{
"name": "sphinxcontrib-qthelp",
"specs": [
[
"==",
"1.0.3"
]
]
},
{
"name": "sphinxcontrib-serializinghtml",
"specs": [
[
"==",
"1.1.5"
]
]
},
{
"name": "svglib",
"specs": [
[
"==",
"1.5.1"
]
]
},
{
"name": "tinycss2",
"specs": [
[
"==",
"1.2.1"
]
]
},
{
"name": "tomli",
"specs": [
[
"==",
"2.0.1"
]
]
},
{
"name": "typing-extensions",
"specs": [
[
"==",
"4.5.0"
]
]
},
{
"name": "tzdata",
"specs": [
[
"==",
"2022.7"
]
]
},
{
"name": "tzlocal",
"specs": [
[
"==",
"4.2"
]
]
},
{
"name": "uritools",
"specs": [
[
"==",
"4.0.1"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"1.26.15"
]
]
},
{
"name": "webencodings",
"specs": [
[
"==",
"0.5.1"
]
]
},
{
"name": "xhtml2pdf",
"specs": [
[
"==",
"0.2.9"
]
]
},
{
"name": "zipp",
"specs": [
[
"==",
"3.15.0"
]
]
}
],
"tox": true,
"lcname": "rst2pdf"
}