def write(self, *ignored): self.init_document_data() if self.config.pdf_verbosity > 1: rst2pdf.log.log.setLevel(logging.DEBUG) elif self.config.pdf_verbosity > 0: rst2pdf.log.log.setLevel(logging.INFO) for entry in self.document_data: try: docname, targetname, title, author = entry[:4] # Custom options per document if len(entry)>4 and isinstance(entry[4],dict): opts=entry[4] else: opts={} self.info("processing " + targetname + "... ", nonl=1) class dummy: extensions=self.config.pdf_extensions createpdf.add_extensions(dummy()) self.page_template=opts.get('pdf_page_template',self.config.pdf_page_template) docwriter = PDFWriter(self, stylesheets=opts.get('pdf_stylesheets',self.config.pdf_stylesheets), language=opts.get('pdf_language',self.config.pdf_language), breaklevel=opts.get('pdf_break_level',self.config.pdf_break_level), breakside=opts.get('pdf_breakside',self.config.pdf_breakside), fontpath=opts.get('pdf_font_path',self.config.pdf_font_path), fitmode=opts.get('pdf_fit_mode',self.config.pdf_fit_mode), compressed=opts.get('pdf_compressed',self.config.pdf_compressed), inline_footnotes=opts.get('pdf_inline_footnotes',self.config.pdf_inline_footnotes), splittables=opts.get('pdf_splittables',self.config.pdf_splittables), default_dpi=opts.get('pdf_default_dpi',self.config.pdf_default_dpi), page_template=self.page_template, invariant=opts.get('pdf_invariant',self.config.pdf_invariant), srcdir=self.srcdir, config=self.config ) tgt_file = path.join(self.outdir, targetname + self.out_suffix) destination = FileOutput(destination=open(tgt_file,'wb'), encoding='utf-8') doctree = self.assemble_doctree(docname,title,author, appendices=opts.get('pdf_appendices', self.config.pdf_appendices) or []) doctree.settings.author=author doctree.settings.title=title self.info("done") self.info("writing " + targetname + "... ", nonl=1) docwriter.write(doctree, destination) self.info("done") except Exception, e: rst2pdf.log.log.error(str(e)) print_exc() self.info(red("FAILED"))
def write(self, *ignored): self.init_document_data() if self.config.pdf_verbosity > 1: log.setLevel(logging.DEBUG) elif self.config.pdf_verbosity > 0: log.setLevel(logging.INFO) for entry in self.document_data: try: docname, targetname, title, author = entry[:4] # Custom options per document if len(entry)>4 and isinstance(entry[4],dict): opts=entry[4] else: opts={} self.spinx_logger.info("processing " + targetname + "... ") self.opts = opts class dummy: extensions=self.config.pdf_extensions createpdf.add_extensions(dummy()) self.page_template=opts.get('pdf_page_template',self.config.pdf_page_template) docwriter = PDFWriter(self, stylesheets=opts.get('pdf_stylesheets',self.config.pdf_stylesheets), language=opts.get('pdf_language',self.config.pdf_language), breaklevel=opts.get('pdf_break_level',self.config.pdf_break_level), breakside=opts.get('pdf_breakside',self.config.pdf_breakside), fontpath=opts.get('pdf_font_path',self.config.pdf_font_path), fitmode=opts.get('pdf_fit_mode',self.config.pdf_fit_mode), compressed=opts.get('pdf_compressed',self.config.pdf_compressed), inline_footnotes=opts.get('pdf_inline_footnotes',self.config.pdf_inline_footnotes), splittables=opts.get('pdf_splittables',self.config.pdf_splittables), repeat_table_rows=opts.get('pdf_repeat_table_rows',self.config.pdf_repeat_table_rows), default_dpi=opts.get('pdf_default_dpi',self.config.pdf_default_dpi), page_template=self.page_template, invariant=opts.get('pdf_invariant',self.config.pdf_invariant), real_footnotes=opts.get('pdf_real_footnotes',self.config.pdf_real_footnotes), use_toc=opts.get('pdf_use_toc',self.config.pdf_use_toc), toc_depth=opts.get('pdf_toc_depth',self.config.pdf_toc_depth), use_coverpage=opts.get('pdf_use_coverpage',self.config.pdf_use_coverpage), use_numbered_links=opts.get('pdf_use_numbered_links',self.config.pdf_use_numbered_links), fit_background_mode=opts.get('pdf_fit_background_mode',self.config.pdf_fit_background_mode), baseurl=opts.get('pdf_baseurl',self.config.pdf_baseurl), section_header_depth=opts.get('section_header_depth',self.config.section_header_depth), srcdir=self.srcdir, style_path=opts.get('pdf_style_path', self.config.pdf_style_path), config=self.config, ) tgt_file = path.join(self.outdir, targetname + self.out_suffix) destination = FileOutput(destination=open(tgt_file,'wb'), encoding='utf-8') doctree = self.assemble_doctree(docname,title,author, appendices=opts.get('pdf_appendices', self.config.pdf_appendices) or []) doctree.settings.author=author doctree.settings.title=title self.spinx_logger.info("done") self.spinx_logger.info("writing " + targetname + "... ") docwriter.write(doctree, destination) self.spinx_logger.info("done") except Exception as e: log.exception(e) self.spinx_logger.info(red("FAILED"))
def write(self, *ignored): self.init_document_data() if self.config.pdf_verbosity > 1: log.setLevel(logging.DEBUG) elif self.config.pdf_verbosity > 0: log.setLevel(logging.INFO) for entry in self.document_data: try: docname, targetname, title, author = entry[:4] # Custom options per document if len(entry)>4 and isinstance(entry[4],dict): opts=entry[4] else: opts={} self.info("processing " + targetname + "... ", nonl=1) self.opts = opts class dummy: extensions=self.config.pdf_extensions createpdf.add_extensions(dummy()) self.page_template=opts.get('pdf_page_template',self.config.pdf_page_template) docwriter = PDFWriter(self, stylesheets=opts.get('pdf_stylesheets',self.config.pdf_stylesheets), language=opts.get('pdf_language',self.config.pdf_language), breaklevel=opts.get('pdf_break_level',self.config.pdf_break_level), breakside=opts.get('pdf_breakside',self.config.pdf_breakside), fontpath=opts.get('pdf_font_path',self.config.pdf_font_path), fitmode=opts.get('pdf_fit_mode',self.config.pdf_fit_mode), compressed=opts.get('pdf_compressed',self.config.pdf_compressed), inline_footnotes=opts.get('pdf_inline_footnotes',self.config.pdf_inline_footnotes), splittables=opts.get('pdf_splittables',self.config.pdf_splittables), default_dpi=opts.get('pdf_default_dpi',self.config.pdf_default_dpi), page_template=self.page_template, invariant=opts.get('pdf_invariant',self.config.pdf_invariant), real_footnotes=opts.get('pdf_real_footnotes',self.config.pdf_real_footnotes), use_toc=opts.get('pdf_use_toc',self.config.pdf_use_toc), toc_depth=opts.get('pdf_toc_depth',self.config.pdf_toc_depth), use_coverpage=opts.get('pdf_use_coverpage',self.config.pdf_use_coverpage), use_numbered_links=opts.get('pdf_use_numbered_links',self.config.pdf_use_numbered_links), fit_background_mode=opts.get('pdf_fit_background_mode',self.config.pdf_fit_background_mode), baseurl=opts.get('pdf_baseurl',self.config.pdf_baseurl), section_header_depth=opts.get('section_header_depth',self.config.section_header_depth), srcdir=self.srcdir, style_path=opts.get('pdf_style_path', self.config.pdf_style_path), config=self.config, ) tgt_file = path.join(self.outdir, targetname + self.out_suffix) destination = FileOutput(destination=open(tgt_file,'wb'), encoding='utf-8') doctree = self.assemble_doctree(docname,title,author, appendices=opts.get('pdf_appendices', self.config.pdf_appendices) or []) doctree.settings.author=author doctree.settings.title=title self.info("done") self.info("writing " + targetname + "... ", nonl=1) docwriter.write(doctree, destination) self.info("done") except Exception, e: log.error(str(e)) print_exc() self.info(red("FAILED"))
def convert_pdf(path): import logging from rst2pdf import createpdf parser = createpdf.parse_commandline() options, args = parser.parse_args(None) # loglevel createpdf.log.setLevel(logging.CRITICAL) # infile filename = path.decode('utf-8').encode('mbcs') options.basedir = os.path.dirname(os.path.abspath(filename)) options.infile = open(filename) if filename.endswith('.tmp'): outfile = filename[:-4] + '.pdf' else: outfile = filename + '.pdf' options.outfile = outfile # style options.style = ['ja.style'] #, 'ja.style''styles.style', # stylepath options.stylepath = [os.path.join(MISC_DIR, 'styles')] # fontpath #options.fpath = [os.path.join(os.environ.get('windir', 'C:\\WINDOWS'), 'Fonts')] options.fpath = [os.path.join(MISC_DIR, 'Fonts')] if options.invariant: createpdf.patch_PDFDate() createpdf.patch_digester() createpdf.add_extensions(options) createpdf.RstToPdf(stylesheets=options.style, language=options.language, header=options.header, footer=options.footer, inlinelinks=options.inlinelinks, breaklevel=int(options.breaklevel), baseurl=options.baseurl, fit_mode=options.fit_mode, smarty=str(options.smarty), font_path=options.fpath, style_path=options.stylepath, repeat_table_rows=options.repeattablerows, footnote_backlinks=options.footnote_backlinks, inline_footnotes=options.inline_footnotes, def_dpi=int(options.def_dpi), basedir=options.basedir, show_frame=options.show_frame, splittables=options.splittables, blank_first_page=options.blank_first_page, breakside=options.breakside).createPdf( text=options.infile.read(), source_path=options.infile.name, output=options.outfile, compressed=options.compressed) options.infile.close()