Beispiel #1
0
    pisaDocument(fin, 
                 fout,
                 encoding='utf-8',
                 debug=True)

    fin.close()
    fout.close()
    return dict(output_filename=output_filename,
                status=0,
                output='')


class HTML2PDF(BaseConverter):

    name = 'pdf-pisa'
    output_format = 'pdf'
    visible_name = 'PDF (PISA)'
    visible = True

    @staticmethod
    def available():
        return True

    def convert(self, output_filename=None, **options):
        result = html2pdf(self.filename, output_filename, **options)
        return result

from registry import registerConverter
registerConverter(HTML2PDF)

Beispiel #2
0
                if value == '0':
                    node.attrib[attr] = '0em'

            if get('page-break-after') == 'always':
                del node.attrib['page-break-after']
                node.attrib['break-after'] = 'page'

            if get('text-transform'):
                del node.attrib['text-transform']

            value = get('white-space')
            if value == 'pre':
                del node.attrib['white-space']
                node.text = '\n' + node.text.lstrip()
                for k,v in  {'white-space-treatment' : 'preserve',
                             'white-space-collapse' : 'false',
                             'wrap-option' : 'no-wrap',
                             'linefeed-treatment' : 'preserve' }.items():
                    node.attrib[k] = v
                
        fo_text = tostring(E.getroot())
        fo_text = fo_text.replace('<ns0:block ' , '<ns0:block margin-top="0" margin-bottom="0" ')  # avoid a linebreak through <li><p> (XFC)
#        fo_text = fo_text.replace('<ns0:block/>', '') # causes a crash with XINC    
        fo_text = fo_text.replace('<ns0:block margin-top="0" margin-bottom="0" />', '') 

        file(fo_filename, 'wb').write(fo_text)
        return fo_filename

from registry import registerConverter
registerConverter(HTML2FO)
Beispiel #3
0
    name = 'ebook-calibre'
    output_format = 'epub'
    visible_name = 'EPUB (Calibre)'
    visible = True

    @staticmethod
    def available():
        return calibre_available

    def convert(self, output_filename=None, **calibre_options):

        # check for commandlineoptions.txt file
        cmdopts = '' 
        cmdopts_filename = os.path.join(os.path.dirname(self.filename), 'commandlineoptions.txt')
        if os.path.exists(cmdopts_filename):
            cmdopts = file(cmdopts_filename).read()
            cmdopts = cmdopts % dict(WORKDIR=os.path.dirname(self.filename))

        tidy_filename = tidyhtml(self.filename, self.encoding)
        result = html2calibre(tidy_filename, output_filename, cmdopts=cmdopts, **calibre_options)
        os.unlink(tidy_filename)
        return result


from registry import registerConverter
registerConverter(HTML2Calibre)

if __name__ == '__main__':
    print html2calibre(sys.argv[1], 'output.epub')
Beispiel #4
0
    visible = True

    @staticmethod
    def available():
        return calibre_available

    def convert(self, output_filename=None, **calibre_options):

        # check for commandlineoptions.txt file
        cmdopts = ''
        cmdopts_filename = os.path.join(os.path.dirname(self.filename),
                                        'commandlineoptions.txt')
        if os.path.exists(cmdopts_filename):
            cmdopts = file(cmdopts_filename).read()
            cmdopts = cmdopts % dict(WORKDIR=os.path.dirname(self.filename))

        tidy_filename = tidyhtml(self.filename, self.encoding)
        result = html2calibre(tidy_filename,
                              output_filename,
                              cmdopts=cmdopts,
                              **calibre_options)
        os.unlink(tidy_filename)
        return result


from registry import registerConverter
registerConverter(HTML2Calibre)

if __name__ == '__main__':
    print html2calibre(sys.argv[1], 'output.epub')
Beispiel #5
0
    name = "wml-xfc"
    output_format = "wml"
    visible_name = "WML (XINC)"
    visible = True


class DOCXConverter(RTFConverter):

    name = "ooxml-xfc"
    output_format = "docx"
    visible_name = "OOXML (XINC)"
    visible = True


class ODTConverter(RTFConverter):

    name = "odt-xfc"
    output_format = "odt"
    visible_name = "ODT (XINC)"
    visible = True


xfc_available = _check_xfc()

from registry import registerConverter

registerConverter(RTFConverter)
registerConverter(WMLConverter)
registerConverter(DOCXConverter)
registerConverter(ODTConverter)
Beispiel #6
0
            if get('text-transform'):
                del node.attrib['text-transform']

            value = get('white-space')
            if value == 'pre':
                del node.attrib['white-space']
                node.text = '\n' + node.text.lstrip()
                for k, v in {
                        'white-space-treatment': 'preserve',
                        'white-space-collapse': 'false',
                        'wrap-option': 'no-wrap',
                        'linefeed-treatment': 'preserve'
                }.items():
                    node.attrib[k] = v

        fo_text = tostring(E.getroot())
        fo_text = fo_text.replace(
            '<ns0:block ', '<ns0:block margin-top="0" margin-bottom="0" '
        )  # avoid a linebreak through <li><p> (XFC)
        #        fo_text = fo_text.replace('<ns0:block/>', '') # causes a crash with XINC
        fo_text = fo_text.replace(
            '<ns0:block margin-top="0" margin-bottom="0" />', '')

        file(fo_filename, 'wb').write(fo_text)
        return fo_filename


from registry import registerConverter
registerConverter(HTML2FO)