I am playing with mapnik and trying to export multiple vector files as one pdf with multiple layers.
For the moment, my vectors get merged when rendering. Is there a way to keep each vector in a separate layer of my rendered pdf?
That's actually easier than what I expected.
The PDFPrinter needs to have its use_ocg_layers parameter set to True. The .finish() method implicitly calls the convert_pdf_pages_to_layers() method if use_ocg_layers is True.
The code looks like this in Python:
page = mapnik.printing.PDFPrinter(use_ocg_layers=True) m = mapnik.Map(100,100) mapnik.load_map(m, "my.xml", True) m.zoom_all() page.render_map(m, "my.pdf") page.finish() # implicitly calls convert_pdf_pages_to_layers()