Esempio n. 1
0
def convert_pdf2swf(pdf_doc):

    if not isinstance(pdf_doc, basestring):
        try:
            pdf_doc = pdf_doc.read()
        except AttributeError:
            return None
    pdf_temp_file = tempfile.NamedTemporaryFile(delete=False)
    swf_temp_file = tempfile.NamedTemporaryFile(delete=False)

    pdf_temp_filename = pdf_temp_file.name
    swf_temp_filename = swf_temp_file.name

    pdf_temp_file.write(pdf_doc)
    pdf_temp_file.close()
    swf_temp_file.close()
    gfx.setparameter('poly2bitmap', '1')
    doc = gfx.open("pdf", pdf_temp_filename)
    swf = gfx.SWF()
    swf.setparameter('flashversion', '9')
    buf = StringIO.StringIO()
    for pagenr in range(1, doc.pages + 1):
        page = doc.getPage(pagenr)
        swf.startpage(page.width, page.height)
        page.render(swf)
        swf.endpage()
    swf.save(swf_temp_filename)

    os.unlink(pdf_temp_filename)

    return open(swf_temp_filename, 'r')
Esempio n. 2
0
    def Run(self):
        swf = gfx.SWF()

        try:
            plugin = self.__options.viewers.init(swf, self.__filename)
        except Exception, e:
            wx.CallAfter(Publisher.sendMessage, "PLUGIN_ERROR")
            self.__running = False
            return
Esempio n. 3
0
        for pagenr in self.__pages:
            page = self.__doc.getPage(pagenr)
            swf.startpage(page.width, page.height)
            page.render(swf)
            swf.endpage()
            wx.CallAfter(Publisher.sendMessage, "SWF_PAGE_SAVED", {
                'pagenr': pagenr,
                'pages': pages,
            })

            if self.__one_page_per_file:
                form = '.%%0%dd.swf' % len(str(len(self.__pages)))
                filename = self.__filename.replace('.swf', form % pagenr)
                swf.save(filename)
                swf = gfx.SWF()

                try:
                    plugin = self.__options.viewers.init(swf, self.__filename)
                except Exception, e:
                    wx.CallAfter(Publisher.sendMessage, "PLUGIN_ERROR")
                    self.__running = False
                    return

                self.setparameters(swf)

            if not self.__keep_running:
                break
        else:
            # This will not run if we break the for loop
            if not self.__one_page_per_file: