rst2pdf is a command-line application that converts reStructuredText documents directly into PDF files. It uses ReportLab rather than passing documents through a LaTeX toolchain, making it a useful option for automated documentation, publishing scripts and Python-based workflows. Output appearance can be extensively controlled through reusable stylesheets and page templates.
This is free and open source software.
Key Features
- Converts reStructuredText source files directly into PDF documents from the command line.
- Uses ReportLab for PDF generation without requiring an intermediate LaTeX document.
- Supports user-defined page templates, page sizes, margins and document layouts.
- Allows multiple frames on a page and multiple page layouts within one document.
- Provides a cascading stylesheet mechanism for controlling typography, spacing, colours and other presentation details.
- Accepts YAML stylesheets that can be maintained separately and reused across documents.
- Embeds TrueType and Type 1 fonts in generated PDF files.
- Supports custom paragraph styles through reStructuredText class directives.
- Supports character-level formatting through custom interpreted-text roles.
- Uses Pygments to provide syntax highlighting for source-code examples.
- Embeds raster images and supported vector graphics in generated documents.
- Offers optional hyphenation to improve line breaking and paragraph layout.
- Includes Sphinx integration for producing PDF versions of larger documentation projects.
- Can add diagrams through optional integrations including PlantUML and aafigure.
- Provides optional support for mathematical content, SVG graphics and raw HTML processing.
- Supports page transitions and other presentation-oriented PDF features.
- Can be installed in an isolated environment using tools such as pipx or uv.
- Runs on contemporary Python releases and is suitable for scripted or continuous-integration workflows.
Website: github.com/rst2pdf/rst2pdf
Support:
Developer: rst2pdf maintainers
License: MIT License
rst2pdf is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| PDF Tools | |
|---|---|
| Scribus | Desktop page layout software producing commercial grade PDF output |
| ONLYOFFICE | Cloud online office suite with great PDF functionality |
| LibreOffice Draw | Vector graphics editor and diagramming tool that can create PDFs |
| PDFBox | Java tool for working with PDF documents |
| Ghostscript | Ghostscript PostScript / PDF interpreter |
| Dangerzone | Make PDFs safe |
| pdf-compress | Compress an overly large PDF file to smaller monochrome |
| PoDoFo | Easy to use PDF parsing and creation library |
| veraPDF | Industry supported PDF/A validation |
| pdfgrep | Command-line utility to search text in PDF files |
| Rescribe | Desktop tool for performing OCR |
| PDF4QT | PDF editor |
| Scans to PDF | Create small, searchable PDFs from scanned documents |
| Paper Clip | Edit PDF document metadata |
| pdfposter | Print large posters on multiple sheets |
| plakativ | Stretches PDF or raster image across multiple pages |
| PDF Metadata Editor | Simple GUI tool |
| unlockR | Simple tool to decrypt PDF files |
| pdfresurrect | Analyze PDF documents |
| Densify | Compress PDF files using Ghostscript |
| IceBox | Converts images into a PDF file |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |


Please read our Comment Policy before commenting.