def main(): parser = argparse.ArgumentParser(description='Render a reStructuredText ' 'document to PDF.') parser.add_argument('input', type=str, nargs='?', help='the reStructuredText document to render') parser.add_argument('--paper', type=str, nargs='?', default='A4', help='the paper size to render to (default: A4)') args = parser.parse_args() try: input_dir, input_filename = os.path.split(args.input) except AttributeError: parser.print_help() return try: page_size = getattr(paper, args.paper.upper()) except AttributeError: print("Unknown paper size '{}'. Must be one of:".format(args.paper)) print(' A0, A1, ..., A10, letter, legal, junior_legal, ledger, ' 'tabloid') return input_root, input_ext = os.path.splitext(input_filename) if input_dir: os.chdir(input_dir) parser = ReStructuredTextReader() with open(input_filename) as input_file: document_tree = parser.parse(input_file) options = ArticleOptions(page_size=page_size) document = Article(document_tree, options, backend=pdf) document.render(input_root)
def render_rst(content): input_file = StringIO(content) parser = ReStructuredTextParser() document_tree = parser.parse(input_file) document = Article(document_tree, OPTIONS, backend=pdf) pdf_output = BytesIO() document.render(file=pdf_output) pdf_output.seek(0) return pdf_output
def main(): parser = argparse.ArgumentParser(description='Render a reStructuredText ' 'document to PDF.') parser.add_argument('input', type=str, nargs='?', help='the reStructuredText document to render') parser.add_argument('--paper', type=str, nargs='?', default='A4', help='the paper size to render to (default: A4)') args = parser.parse_args() try: input_dir, input_file = os.path.split(args.input) except AttributeError: parser.print_help() return input_base, input_ext = os.path.splitext(input_file) if input_dir: os.chdir(input_dir) parser = ReStructuredTextParser() document_tree = parser.parse(input_file) options = ArticleOptions(page_size=getattr(paper, args.paper.upper())) document = Article(document_tree, options, backend=pdf) document.render(input_base)
from rinoh.paper import A4 from rinoh.backend import pdf from rinoh.frontend.dita import DITAReader from rinohlib.templates.article import Article, ArticleOptions if __name__ == '__main__': reader = DITAReader() for name in ('sequence', 'hierarchy'): with open(name + '.ditamap') as file: flowables = reader.parse(file) article_options = ArticleOptions(page_size=A4, table_of_contents=True) document = Article(flowables, options=article_options, backend=pdf) document.render(name)
from rinoh.paper import A4 from rinoh.backend import pdf from rinoh.frontend.epub import EPubReader from rinohlib.templates.article import Article, ArticleOptions if __name__ == '__main__': reader = EPubReader() with open('running_lean.epub', 'rb') as file: flowables = reader.parse(file) article_options = ArticleOptions(page_size=A4, table_of_contents=True) document = Article(flowables, options=article_options, backend=pdf) document.render('running_lean')
from rinoh.paper import A4 from rinoh.backend import pdf from rinoh.frontend.commonmark import CommonMarkReader from rinohlib.templates.article import Article, ArticleOptions if __name__ == '__main__': reader = CommonMarkReader() for name in ('README', ): with open(name + '.md', 'rb') as file: flowables = reader.parse(file) article_options = ArticleOptions(page_size=A4, table_of_contents=True) document = Article(flowables, options=article_options, backend=pdf) document.render(name)
from rinohlib.stylesheets.sphinx import stylesheet HEADER_TEXT = 'About RinohType' + Tab() + Tab() + Variable(SECTION_TITLE(1)) FOOTER_TEXT = ( InlineImage('company_logo.pdf', scale=0.7, baseline=31.5 * PERCENT) + Tab() + Tab() + 'page ' + Variable(PAGE_NUMBER)) OPTIONS = ArticleOptions(page_size=A4, table_of_contents=True) OPTIONS = ArticleOptions(page_size=A4, columns=2, table_of_contents=True, header_text=HEADER_TEXT, footer_text=FOOTER_TEXT, stylesheet=stylesheet, abstract_location=TITLE, show_date=False, show_author=False) if __name__ == '__main__': reader = DITAReader() for name in ('sequence', 'hierarchy'): with open(name + '.ditamap') as file: flowables = reader.parse(file) document = Article(flowables, options=OPTIONS, backend=pdf) document.render(name) with open('taskbook.ditamap') as file: flowables = reader.parse(file) document = Book(flowables, backend=pdf) document.render('taskbook')
from rinohlib.templates.article import Article, ArticleOptions, TITLE from rinohlib.templates.book import Book, BookOptions from rinohlib.stylesheets.sphinx import stylesheet HEADER_TEXT = 'About RinohType' + Tab() + Tab() + Variable(SECTION_TITLE(1)) FOOTER_TEXT = (InlineImage('company_logo.pdf', scale=0.7, baseline=31.5*PERCENT) + Tab() + Tab() + 'page ' + Variable(PAGE_NUMBER)) OPTIONS = ArticleOptions(page_size=A4, table_of_contents=True) OPTIONS = ArticleOptions(page_size=A4, columns=2, table_of_contents=True, header_text=HEADER_TEXT, footer_text=FOOTER_TEXT, stylesheet=stylesheet, abstract_location=TITLE, show_date=False, show_author=False) if __name__ == '__main__': reader = DITAReader() for name in ('sequence', 'hierarchy'): with open(name + '.ditamap') as file: flowables = reader.parse(file) document = Article(flowables, options=OPTIONS, backend=pdf) document.render(name) with open('taskbook.ditamap') as file: flowables = reader.parse(file) document = Book(flowables, backend=pdf) document.render('taskbook')