Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import wx
- import wx.lib.wxcairo
- import sys
- import poppler
- class MyFrame(wx.Frame):
- def __init__(self):
- wx.Frame.__init__(self, None, -1, "Cairo Test", size=(500,400))
- self.Bind(wx.EVT_PAINT, self.OnPaint)
- uri = "file://" + sys.argv[1]
- self.document = poppler.document_new_from_file (uri, None)
- self.n_pages = self.document.get_n_pages()
- self.current_page = self.document.get_page(0)
- self.scale = 1
- self.width, self.height = self.current_page.get_size()
- self.SetSize((self.width, self.height))
- def OnPaint(self, event):
- dc = wx.PaintDC(self)
- cr = wx.lib.wxcairo.ContextFromDC(dc)
- cr.set_source_rgb(1, 1, 1)
- if self.scale != 1:
- cr.scale(self.scale, self.scale)
- cr.rectangle(0, 0, self.width, self.height)
- cr.fill()
- self.current_page.render(cr)
- if __name__=="__main__":
- app = wx.App()
- f = MyFrame()
- f.Show()
- app.MainLoop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement