##// END OF EJS Templates
flavor=template
flavor=template

File last commit:

r11745:44a54107
r11745:44a54107
Show More
pdf.py
47 lines | 1.7 KiB | text/x-python | PythonLexer
#!/usr/bin/env python
"""
Contains writer for writing nbconvert output to PDF.
"""
#-----------------------------------------------------------------------------
#Copyright (c) 2013, the IPython Development Team.
#
#Distributed under the terms of the Modified BSD License.
#
#The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
import subprocess
import os
from IPython.utils.traitlets import Integer, Unicode
from .files import FilesWriter
#-----------------------------------------------------------------------------
# Classes
#-----------------------------------------------------------------------------
class PDFWriter(FilesWriter):
"""Writer designed to write to PDF files"""
iteration_count = Integer(3, config=True, help="""
How many times pdflatex will be called.
""")
compiler = Unicode(u'pdflatex {0}', config=True, help="""
Shell command used to compile PDF.""")
def write(self, output, resources, notebook_name=None, **kw):
"""
Consume and write Jinja output a PDF.
See files.py for more...
"""
dest = super(PDFWriter, self).write(output, resources,
notebook_name=notebook_name, **kw)
command = self.compiler.format(dest)
for index in range(self.iteration_count):
subprocess.Popen(command, shell=True, stdout=open(os.devnull, 'wb'))