Create PDF from Sphinx using WeasyPrint.
build/lib/sphinx_weasyprint_builder | ||
sphinx_weasyprint_builder | ||
.gitignore | ||
AUTHORS | ||
babel.cfg | ||
CHANGES | ||
LICENSE | ||
LICENSE-de | ||
LICENSE-fr | ||
LICENSE-nl | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py |
Sphinx WeasyPrint builder ========================= Sphinx WeasyPrint builder is a PDF generator for `Sphinx <https://www.sphinx-doc.org>`_ without usage of LaTeX. Install ------- You can install it with `pip`: .. code:: bash pip install sphinx_weasyprint_builder Or with `setup.py`: .. code:: bash python setup.py install Configuration ------------- You can configure your output with these options: - weasyprint_basename - weasyprint_theme - weasyprint_theme_options - weasyprint_title - weasyprint_theme_path - weasyprint_short_title - weasyprint_style - weasyprint_css_files - weasyprint_show_copyright - weasyprint_show_sphinx Each one has the same behavior of its equivalent for `html` builder. .. warning:: Your theme must support print media, you can have a lot of troubles due to bad CSS. Please refer to the WeasyPrint documentation to know how to write CSS for printing. For example, WeasyPrint can't create scrollbars and some text overflows the page. You can use the sphinx_weasyprint_theme installed with this plugin to start. Use --- Just launch the following: .. code:: bash make weasyprint Signing ------- .. warning:: You need to install `pykcs11` and `endesive` to sign PDF. Following parameters are needed to sign: .. code:: python weasyprint_sign_method = 'pkcs11' weasyprint_sign_certid = '0x..........' weasyprint_sign_reason = 'My Company' weasyprint_sign_location = 'Where I am' weasyprint_sign_contact = "Yeah, it's me" weasyprint_sign_image = 'path_to_image' weasyprint_sign_text = __('Signed on {sign_date}\nat {sign_location}\nby {sign_contact}\nfor {sign_reason}') #default weasyprint_sign_position = (page, x, y) #default: None .. note:: Signing methods are really limited. Do not hesitate to contribute ! Available: `none` (no encryption), `pkcs11` To be implemented: `p12`, `gpg` Why an other PDF builder for Sphinx? ------------------------------------ LaTeX is really hard to use and to personalize. There's also an other project to make PDF without LaTeX. WeasyPrint converts HTML to PDF. It's the easiest way to customize theme and use a constant quality whatever the media is. If your HTML theme doesn't have any JavaScript, you can imagine use the same as HTML and PDF output. This plugin is just `singlehtml` output with conversion to PDF.