|
Project Information
Featured
Links
|
Contents IntroductionThe 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. Here is some sample output, the beginning of "The Count of Montecristo".
Here you can see some large documents rendered with rst2pdf:Rst2pdf 0.16 is out! The Python Documentation Some Manuals There is a book typeset with rst2pdf Try it OnlineYou can try some of the power of rst2pdf online trying it at http://www.rst2pdf.net/ This is not done by me, so I don't know what version of rst2pdf they are using, or what limitations it has, but it's quite nice! InstallationDownload it from this site, then install manually python setup.py install or try the egg with the provided buildout: python bootstrap.py
bin/buildout you'll get a rst2pdf executable in the bin directory or get it via PyPI: easy_install rst2pdf Features- User-defined page layout. Multiple frames per page, multiple layouts per document.
- 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 and kerning (using wordaxe).
ScreenshotNot really, since this is a terminal app, but ok :-)
Changes New in 0.91New in 0.90- Added raw HTML support, by Dimitri Christodoulou
- Fixed Issue 422 : Having no .afm files made font lookup slow.
- Fixed Issue 411 : Sometimes the windows registry has the font's abspath.
- Fixed Issue 430 : Using --config option caused other options to be ignored (by charles at cstanhope dot com)
- Fixed Issue 436 : Add pdf_style_path to sphinx (by tyler@datastax.com)
- Fixed Issue 428 : page numbers logged as errors
- Added support for many pygments options in code-block (by Joaquin Sorianello)
- Issue 399 : support sphinx's template path option
- Fixed Issue 406 : calls to the wrong logging function
- Implemented Issue 391 : New --section-header-depth option.
- Fixed Issue 390 : the --config option was ignored.
- Fixed Issue 379 : Wrong style applied to paragraphs in definitions.
- Fixed Issue 378 : Multiline :address: were shown collapsed.
- Implemented Issue 11 : FrameBreak (and conditional FrameBreak)
- The description of frames in page templates was just wrong.
- Fixed Issue 374 : in some cases, literal blocks were split inside a page, or the pagebreak came too early.
- Fixed Issue 370 : warning about sphinx.addnodes.highlightlang not being handled removed.
- Fixed Issue 369 : crash in hyphenator when specifying "en" as a language.
- Compatibility fix to Sphinx 0.6.x (For python 2.7 docs)
New in 0.16- Fixed Issue 343 : Plugged memory leak in the RSON parser.
- Fix for Issue 287 : there is still a corner case if you have two sections with the same title, at the same level, in the same page, in different files where the links will break.
- Fixed Issue 367 : german-localized dates are MM. DD. YYYY so when used in sphinx's template cover they appeared weird, like a list item. Fixed with a minor workaround in the template.
- Fixed Issue 366 : links to "#" make no sense on a PDF file
- Made definitions from definition lists more stylable.
- Moved definition lists to SplitTables, so you can have very long definitions.
- Fixed Issue 318 : Implemented Domain specific indexes for Sphinx 1.0.x
- Fixed Index links when using Sphinx/pdfbuilder.
- Fixed Issue 360 : Set literal.wordWrap to None by default so it doesn't inherit wordWrap CJK when you use the otherwise correct japanese settings. In any case, literal blocks are not supposed to wrap at all.
- Switched pdfbuilder to use SplitTables by default (it made no sense not to do it)
- Fixed Issue 365 : some TTF fonts don't validate but they work anyway.
- Set a valid default baseurl for Sphinx (makes it much faster!)
- New feature: --use-numbered-links to show section numbers in links to sections, like "See section 2.3 Termination"
- Added stylesheets for landscape paper sizes (i.e: a4-landscape.style)
- Fixed Issue 364 : Some options not respected when passed in per-doc options in sphinx.
- Fixed Issue 361 : multiple linebreaks in line blocks were collapsed.
- Fixed Issue 363 : strange characters in some cases in math directive.
- Fixed Issue 362 : Smarter auto-enclosing of equations in $...$
- Fixed Issue 358: --real--footnotes defaults to False, but help text indicates default is True
- Fixed Issue 359 : Wrong --fit-background-mode help string
- Fixed Issue 356 : missing cells if a cell spawns rows and columns.
- Fixed Issue 349 : Work correctly with languages that are available in form aa_bb and not aa (example: zh_cn)
- Fixed Issue 345 : give file/line info when there is an error in a raw PDF directive.
- Fixed Issue 336 : JPEG images should work even without PIL (but give a warning because sizes will probably be wrong)
- Fixed Issue 351 : footnote/citation references were generated incorrectly, which caused problems if there was a citation with the same text as a heading.
- Fixed Issue 353 : better handling of graphviz, so that it works without vectorpdf but gives a warning about it.
- Fixed Issue 354 : make todo_node from sphinx customizable.
- Fixed bug where nested lists broke page layout if the page was small.
- Smarter --inline-links option
- New feature: tab-width option in code-block directive (defaults to 8).
- Fixed Issue 340 : endnotes/footnotes were not styled.
- Fixed Issue 339 : class names using were not usable.
- Fixed Issue 335 : ugly crash when using images in some specific places (looks like a reportlab bug)
- Fixed Issue 329 : make the figure alignment/class attributes work more like LaTeX than
HTML. - Fixed Issue 328 : list item styles were being ignored.
- Fixed Issue 186 : new --use-floating-images makes images with :align: set work like in HTML, with the next flowable flowing beside it.
- Fixed Issue 307 : header/footer from stylesheet now supports inline rest markup and substitutions defined in the main document.
- New pdf_toc_depth option for Sphinx/pdfbuilder
- New pdf_use_toc option for Sphinx/pdfbuilder
- Fixed Issue 308 : compatibility with reportlab from SVN
- Fixed Issue 323 : errors in the config.sample made it work weird.
- Fixed Issue 322 : Image substitutions didn't work in document title.
- Implemented Issue 321 : underline and strikethrough available in stylesheet.
- Fixed Issue 317 : Ugly error message when file does not exist
New in 0.15- Fixed Issue 315 : crash when using an undefined class for a list.
- Implemented Issue 279 : images can be specified as URLs.
- Fixed Issue 313 : new --fit-background-mode option.
- Fixed Issue 110: new --real-footnotes option (buggy).
- Fixed Issue 176 : spacers larger than a page don't crash.
- Fixed Issue 65 : References to Helvetica/Times when it was not used.
- Fixed Issue 310 : added option linenos_offset to code blocks.
- Fixed Issue 309 : style for blockquotes was not respected.
- Custom cover page support (related to Issue 157 )
- Fixed Issue 305 : support wildcards in image name and then use the best one available.
- Improved widow/orphan support for literal blocks
- Fixed Issue 304 : Code blocks didn't respect fontSize in class.
New in 0.14.2- Fixed Issue 301 : Respect paddings in SplitTables (list items)
- Fixed Issue 302 : Regained compatibility with ReportLab 2.3
New in 0.14.1- Make it compatible with Sphinx 0.6.3 again
- Fixed Issue 300 : image-missing.jpg was not installed
New in 0.14- Fixed Issue 197 : Table borders were confusing.
- Fixed Issue 297 : styles from default.json leaked onto other syntax highlighting stylesheets.
- Fixed Issue 295 : keyword replacement in headers/footers didn't work if ###Page### and others was inside a table.
- New feature: oddeven directive to display alternative content on odd/even pages (good for headers/footers!)
- Switched all stylesheets to more readable RSON format.
- Fixed Issue 294 : Images were deformed when only height was specified.
- Fixed Issue 293 : Accept left/center/right as alignments in stylesheets.
- Fixed Issue 292 : separate style for line numbers in codeblocks
- Fixed Issue 291 : support class directive for codeblocks
- Fixed Issue 104 : total number of pages in header/footer works in all cases now.
- Fixed Issue 168 : linenos and linenothreshold options in Sphinx now work correctly.
- Fixed regression in 0.12 (interaction between rst2pdf and sphinx math)
- Documented extensions in the manual
- Better styling of bullets/items ( Issue 289 )
- Fixed Issue 290 : don't fail on broken images
- Better font finding in windows (patch by techtonik, Issue 282 ).
- Fixed Issue 166 : Implemented Sphinx's hlist (horizontal lists)
- Fixed Issue 284 : Implemented production lists for sphinx
- Fixed Issue 165 : Definition lists not properly indented inside admonitions or tables.
- SVG Images work inline when using the inkscape extension.
- Fixed Issue 268 : TOCs shifted to the left on RL 2.4
- Fixed Issue 281 : sphinx test automation was broken
- Fixed Issue 280 : wrong page templates used in sphinx
New in 0.13- New TOC code (supports dots between title and page number)
- New preprocessor extension
- Support for nested stylesheets
- New headerSeparator/footerSeparator stylesheet options
- Foreground image support (useful for watermarks)
- Support transparency (alpha channel) when specifying colors
- Inkscape extension for much better SVG support
- Ability to show total page count in header/footer
- New RSON format for stylesheets (JSON superset)
- Fixed Issue 174 regression (Indented lines in line blocks)
- Fixed Issue 276 : Load stylesheets from strings
- Fixed Issue 275 : Extra space before lineblocks
- Fixed Issue 262 : Full support for Reportlab 2.4
- Fixed Issue 264 : Splitting error in some documents
- Fixed Issue 251 : added support for rst2pdf extensions when using sphinx
- Fixed Issue 256 : ugly crash when using SVG images without SVG support
- Fixed Issue 257 : support aafigure when using sphinx/pdfbuilder
- Initial support for graphviz extension in pdfbuilder
- Fixed Issue 249 : Images distorted when specifiying width and height
- Fixed Issue 252 : math directive conflicted with sphinx
- Fixed Issue 224 : Tables can be left/center/right aligned in the page.
- Fixed Issue 243 : Wrong spacing for second paragraphs in bullet lists.
- Big refactoring of the code.
- Fully reworked test suite, continuous integration site.
- Optionally use SWFtools for PDF images
- Fixed Issue 232 (HTML tags in title metadata)
New in 0.12.3- Fix Issue 230 (untranslated admonition titles)
- Fix Issue 223 (non-monospaced styles used in code)
New in 0.12.2- Fix Issue 219 (incompatibility with reportlab 2.1)
- Added pdf_default_dpi option for pdfbuilder
- More style docs in the manual
- Fix bug reported in comments in my blog where a stylesheet with showHeader=True and no explicit header caused an exception.
- Fixed Issue 215 : crashes in bookrest's background renderer.
New in 0.12.1- Ship local patched copy of pypoppler-qt4
- Partial fix for Issue 205 : KeyError: 'format'
- Fixed Issue 212 : XML parsing error in bookrest
- Switched --enable-splittables to True by default
- Fixed Issue 204 : syntax error on font importing code
New in 0.12- Fixed Issue 202 : broken processing of HTML raw nodes
- New "options" section in stylesheets. New ["options"]["stylesheets"] subsection, which works similar to -s or to an include file: a list of stylesheets to be processed before the current one.
- Fix for Issue 200 (position of frames was miscalculated)
- Fix For Issue 188 (uniconvertor "'unicode' object has no attribute 'readline'" error)
- New raw directive command: SetPageCounter. This enables page counter manipulation, and use of different styles, roman, lowerroman, alpha, loweralpha and arabic.
- New raw directive commands: EvenPageBreak and OddPageBreak
- New option to make sections break to odd or even pages: --break-side=VALUE
- New option to make sections break to odd or even pages: --break-side=VALUE
- Fixed bug in authors field width calculation
- Support % in bullet and field lists column widths
- Use bullet_list or item_list styles for bullet and item lists respectively.
- Support % in field list column width description.
- Fix for Issue 184 (font metrics go crazy with TT font)
- New admonition code based on SplitTable (beta quality)
- Fix for Issue 180 (support for very very long list items. Needs testing)
- Fix for Issue 174 (line blocks didn't respect indentation)
- Worked around Issue 173 (quotes didn't indent inside table cells)
- Respect spaceBefore and spaceAfter for footnotes/endnotes
- Added tests for (almost) all of sphinx's custom markup
- Fixed Issue 159 (Admonition and table widths were miscalculated)
- Fixed Issue 162 (wrong highlighting using sphinx)
- Changed default language policy as described in Issue 53
- Fixed Issue 148 (Images should be looked for relative to source document)
- Fixed Issue 158 (Some admonitions crashed pdfbuilder)
- Fixed Issue 154 (incompatibility with RL 2.1)
- Fixed Issue 155 (crash when sidebars split in a certain way)
- Fixed issue 152 (padding and alignment of table styles, like when using literal blocks inside lists)
- Integrated pdfbuilder sphinx extension (more work needed)
- Kerning support for true type fonts (thanks to wordaxe!), added to the docs, added convenience stylesheet.
- Fixed Issue 151 and behaviour on Issue 116 , about images too large for available space / the full frame height.
- Fixed problem in admonition titles.
- Fixed section names in headers/footers: FIRST section on the page is used, not LAST.
- Fixed Issue 145 : padding of literal blocks was broken.
- Fixed bug: paragraphs with ids should have the matching anchors
- Fixed bug: internal references were not linked correctly
- Fixed Issue 144 : PDF TOC had wrong page numbers in some cases
- More sphinx compatibility
- New table styles code, also make class directive work for tables
- Fixed Issue 140 : html-like markup in titles was kept in the PDF TOC
- Fixed Issue 138 : Better figure styling. Also fixed bugs in BoxedContainer
- Fixed Issue 137 : bugs in escaping characters in interpreted roles
- Make it work (in a slightly degraded mode) without PIL, as long as you are only using JPGs or have PythonMagick installed.
- Fixed issue 134 : entities were replaced in interpreted roles
- AAFigure support (diagrams using ASCII art)
New in 0.11- Implemented issue 127 : support images in PDF format. Right now they are rasterized, so it's not ideal. Perhaps something better will come up later.
- Fixed issue 129 : make it work around a prblem with KeepTogether in RL 2.1 it probably makes the output look worse in some cases when using that. RL 2.1 is not really supported, so added a warning.
- Fixed issue 130 : use os.pathsep instead of ":" since ":" in windows is used in disk names (and we still pay for DOS idiocy, in 2009)
- Fixed issue 128 : headings level 3+ all looked the same
- Ugly bugfix for Issue 126 : crashes when using images in header + TOC
- More configurable list layouts and more powerful table styling
- Better syntax highlighting (supports bold/italic)
- New collection of utility stylesheets (change paper size, default font, etc with just a command)
- Fixed Issue 67 : completely new list layouting code
- Fixed Issue 116 : crashes caused by huge images
- Better support for %width in images
- Better handling of missing images
- Added styles abstract, contents, dedication, fieldvalue, optionlist, topic-title,
- Vertical alignment for inline images (:align: parameter)
- Issue 118 : Support for :scale: in images and handle resizing of inline images
- Issue 119 : Fix placement of headers and footers
- New background property for page templates (nice for presentations, for example)
- Support all required measurement units ("em" "ex" "px" "in" "cm"
"mm" "pt" "pc" "%" "")
- New automated scripts to check test cases for "visual differences"
- Tested with Reportlab SVN trunk
- Support for Dinu Gherman's svglib
- Issue 109 : Separate styles for each kind of admonition
- For Issue 109 : missing styles are not a fatal error
- Issue 117 : Support TOCs with more than 5 levels
New in 0.10.1- Issue 114 : fix ampersands in PDF TOC entries
New in 0.10- Issue 87 : Table headers can be repeated in each page (thanks to Yasushi Masuda)
- Issue 93 : Line number support for code blocks (:linenos: true)
- Issue 111 : Added --no-footnote-backlinks option
- Issue 107 : Support localized directives/roles (example: sommaire instead of contents)
- Issue 112 : Fixed crash when processing empty list items
- Issue 98 : Nobreak support, and set as default for inline-literals so they don't hyphenate.
- Background colors in text styles work with reportlab 2.3
- Issue 99 : Fixed hyphenation in headers/footers (requires wordaxe 0.3.2)
- Issue 106 : Crash on demo.txt fixed (requires wordxe 0.3.2)
- Issue 102 : Implemented styles for bulleted and numbered lists
- Issue 38 : Default headers/footers via options, config file or stylesheet
- Issue 88 : Implemented much better book-style TOCs
- Issue 100 : Fixed bug with headers/footers and Reportlab 2.3
- Issue 95 : Fixed bug with indented tables
- Issue 84 : Fixed bug with relative include paths
- Issue 85 : Fixed bug with table cell styles
- Issue 83 : Fixed bug with numeric colors in backColor attribute
- Issue 79 : Added --stylesheet-path option
- Issue 80 : Send warnings to stderr, not stdout
- Issue 77 : Work around missing matplotlib
- Proper translation of labels (such as "Author", "Version" etc.) using the
docutils languages package. (r473)
- Fixed problems with wrong or non-existing fonts. (r484)
- Page transition effect support for presentations (r423)
New in 0.9- Math support via matplotlib (no TeX required)
- Support lists that don' t start at 1
New in 0.8.1- Support for more complex headers and footers (including image directives and tables)
- Several bugs fixed (issues 48,68,41,60,58,64,67)
- Support for system-wide config file
New in 0.8- Support for vector graphics: SVG, EPS, PS, CDR and others (requires uniconvertor)
- Support for stdin and stdout, so you can use rst2pdf in pipes.
- Simpler stylesheets (guess bulletFontName, leading, bulletFontSize from other parameters)
- Fixed the docutils Writer interface
- Fix crash when an image is missing
- Font sizes can be expressed in units or % of parent style's size
- Larger font size in the default stylesheet
New in 0.7- Automatic Type1 and True Type font embedding. Just use the font or family name, and (with a little luck), it will be embedded for you.
- width attribute in styles, to create narrow paragraphs/tables
- Styles for table headers and table cells.
- Improvements in the handling of overflowing literal blocks (code, for instance)
- Different modes to handle too-large literal blocks: overflow/truncate/shrink/error.
- Real sidebars and "floating" elements.
- Fixed link style (no ugly black underlining!)
New in 0.6- Stylesheet-defined page layout (For example, multicolumn) and layout switching
- Cascading Stylesheets (change exactly what you need changed)
- Current section names and numbers in headers/footers
- Support for compressed PDF files
- Link color is configurable
- Fixed bugs in color handling
- Auto-guessing image size, support for sizes in %
- More tolerant of minor problems
- Limited raw directive (you can insert pagebreaks and vertical space)
- Implemented a "traditional" docutils writer
- Offer a reasonable API for use as a library
- Fixed copyright/licensing
- code-block now supports including files (whole or in part) so you can highlight external code.
New in 0.5- Support for :widths: in tables
- Support for captions in tables
- Support for multi-row headers in tables
- Improved definition lists
- Fixed bug in image directive
- Whitespace conforming to PEP8
- Fixed bug in text size on code-block
- Package is more setuptools compliant
- Fix for option groups in option lists
New in 0.4- Fixed bullet and item lists indentation/nesting.
- Working links between footnotes and its references
- Justification enabled by default
- Fixed table bug (demo.txt works now)
- Title and author support in PDF properties
- Support for document title in header/footer
- Custom page sizes and margins
New in 0.3- Font embedding (use any True Type font in your PDFs)
- Syntax highlighter using Pygments
- External/custom stylesheets
- Support for page numbers in header/footer
|