Re: Size of PDF with lots of images
Adrian Johnson <[email protected]>
| Newsgroups | gmane.comp.lib.cairo |
|---|---|
| Message-ID | <[email protected]> |
On 17/01/14 02:07, Oswaldo wrote: > El 16/01/2014 4:44, Behdad Esfahbod escribió: >> Back in 2007 Carl and I developed Slippy a GUADEC to do our cairo >> slides. I >> have used it since for many presentations. It's a pycairo-based tool >> where >> you express slides as Python functions. It's very handy, specially if >> you >> want to use cairo drawing in your slides. >> >> Back in the days, if I had a huge background image, it was replicated >> in each >> slide, so I was getting, like, 240MB PDFs for a simple presentation. >> Fortunately that has long been fixed. >> >> Now, for my GLyphy talk [2], the source images are 14MB [3], but the >> generated >> PDF [4] is 18MB. Does anyone feel like taking a look? >> >> [1] http://github.com/behdad/slippy >> [2] https://vimeo.com/83732058 >> [3] https://github.com/behdad/slippy/tree/master/glyphy >> [4] http://behdad.org/glyphy_slides.pdf >> > > > Hello, > > I do not know if your problem is this: > > I also use pyCairo to generate PDFs and when I used the same image on > multiple pages (logos, backgrounds, etc) the pdf file was too large > because if i use the same image ten times the image was embedded ten > times in the pdf file. > > I solved it creating an image cache surface object, then, before create > a new image surface I search the cache and, if exists on it, I reuse the > previous created surface. In this way image was embedded only once. Or you could use cairo_surface_set_mime_data() with the CAIRO_MIME_TYPE_UNIQUE_ID mime type to assign a unique identifier (eg the image file name) to your images. Images with the same unique identifier will only be embedded once. > > > Regards. -- cairo mailing list [email protected] http://lists.cairographics.org/mailman/listinfo/cairo