def refresh(self):
# make the preview
(tmpfd, tmppath) = tempfile.mkstemp(
suffix=".pdf",
prefix="paperwork_export_"
)
os.close(tmpfd)
path = self.__save(tmppath, pages=(self.page_nb, self.page_nb + 1))
# reload the preview
file = Gio.File.new_for_uri(path)
pdfdoc = Poppler.Document.new_from_gfile(file, password=None)
assert(pdfdoc.get_n_pages() > 0)
pdfpage = pdfdoc.get_page(0)
pdfpage_size = pdfpage.get_size()
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32,
int(pdfpage_size[0]),
int(pdfpage_size[1]))
ctx = cairo.Context(surface)
pdfpage.render(ctx)
img = surface2image(surface)
self.__preview = (path, img)
评论列表
文章目录