On 06/02/2014 19:31, Larry Shaffer wrote:
Hi Hugo,
On Thu, Feb 6, 2014 at 6:24 AM, Hugo Mercier
<[email protected] <mailto:[email protected]>> 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
[email protected] <mailto:[email protected]>
http://lists.osgeo.org/mailman/listinfo/qgis-developer
_______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer
_______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer