[Qgis-developer] Multilayer PDF ?
Vincent Mora
vincent.mora at oslandia.com
Fri Feb 7 00:05:26 PST 2014
On 06/02/2014 19:31, Larry Shaffer wrote:
> Hi Hugo,
>
> On Thu, Feb 6, 2014 at 6:24 AM, Hugo Mercier
> <hugo.mercier at oslandia.com <mailto:hugo.mercier at oslandia.com>> wrote:
>
> Hi,
>
> I am investigating how multilayer PDF export could be handled
> through QGIS.
> This is a feature of the PDF format (called Optional Content Groups)
> that would allow to keep "layered" representation of a GIS map when
> exported to a PDF.
>
> Something similar has been recently done with the SVG format (
> https://github.com/qgis/QGIS/pull/1092)
>
> As far as I know :
> - QPrinter/QPainter is not able to deal with this concept of layer
> - OGR/GDAL has a driver for Geospatial PDF writing that does support
> multi layers, but has a very limited support for styling, so it would
> require to rasterize each layer and put them into the PDF
> - only a few third-party PDF libraries support writing and OCG,
> probably
> poppler is the best option.
>
> Does anyone see other easier options ?
>
>
> What about generating individual PDF outputs for each 'layer' (i.e. a
> layer or group of layers in layer legend) first, then combining them
> into a PDF as layers?
>
The code to generate multi-layered svg can be used for that. What the
code does is to hide all/show one composer items or map layer at a time
and render it to a stream, the stream is then post-process (in case of
svg it's an xml structure) to create the final output.
It would be a nice refactoring to have the same (templated?) function to
do both.
> This is totally untested, but when using GDAL to generate a
> geospatial, layered PDF, could the individual 'layer' PDF outputs be
> piped back into GDAL as DATASOURCEs for individual layers? There seems
> to be a set order for generating the layers, e.g. raster on bottom
> with vector layers over top, instead of random instertion, e.g. raster
> on bottom, then vector, then raster. You might want to ask Mr.
> Warmerdam about how flexible the PDF layer writing process is, and
> whether external PDF content can be streamed through to layered output
> (instead of having any geometries read and styled). There is the
> EXTRA_STREAM=content creation option, but I don't know if it can be
> used multiple times to insert external PDFs as layers.
>
> Also, I think the blending modes of individual layers/groups would
> have to be migrated to PDF-specific (Postcript?) definitions, since
> each will be rendered separately. Surely standard blending modes for
> layers can be defined in PDFs (?).
>
> I think this is a *very* important export feature to add to QGIS, and
> will ultimately help with its adoption in enterprise, institutional
> and government settings, since such an output fulfills many mandates
> for publicly releasing a functional representation of data.
>
> Regards,
>
> Larry
>
> Thanks !
> --
> Hugo Mercier
> Oslandia
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org <mailto:Qgis-developer at lists.osgeo.org>
> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>
>
>
>
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20140207/1aa8d823/attachment.html>
More information about the Qgis-developer
mailing list