Re: writing multiple surfaces to a single (pdf) file
Andrea Canciani <[email protected]>
| Newsgroups | gmane.comp.lib.cairo |
|---|---|
| Message-ID | <CAN_5=BCbdhM4_SL8XsGxFw=aEQJzBx6B_HaN_3wL0KZ40orBBw@mail.gmail.com> |
2011/11/7 Zoltán Vörös <[email protected]>: > Many thanks for the fast feedback! > >> cannot find any short sample that uses them... I hope the documentation is >> sufficient (The simplest reference I can provide is: >> http://cgit.freedesktop.org/cairo/tree/test/multi-page.c#n106 ) > > Well, this is/was actually the problem: I did read the docs, but it is > completely unclear to me what one is supposed to do. At the moment, I have > this The issue in your code is that you're doing all the drawing before calling the *_page() methods. In addition to this, I believe that calling show_page() should be sufficient for your use case. Can you please your code with the following changes? surface = cairo.PDFSurface('pdffile.pdf', 504, 648); cr = cairo.Context(surface) cr.set_source_surface(self.surface, 0, 0) cr.paint() cr.show_page() # show the first page self.page += 1 self.path = self.pages[self.page] # we show another page self.draw_note(self.widget('draw'), self.path) # This redraws the surface on gtk drawable, which is self.surface cr.set_source_surface(self.surface, 0, 0) cr.paint() # don't forget to paint(), setting a source does not change the surface content cr.show_page() # show the second page Andrea > > and it does print two pages to the pdf file, but the two pages are the same. > I can't get the second page to the file, though it is painted properly on > the self.surface, so I can it in the gui. > Well, any hints would be appreciated. > Cheers, > Zoltán > -- cairo mailing list [email protected] http://lists.cairographics.org/mailman/listinfo/cairo