Isn't it possible to store Metadata directly in GeoPDF files using GDAL command line tools (gdal_translate, gdal_edit) or GDAL Python?

Something like: gdal_edit -mo "CUTLINE=POLYGON(...)" orig.pdf

Unfortunately, all I can achieve is the creation of an additional *.aux.xml file that includes the Metadata entry (GDAL 2.2.2 Windows 64bit).

Using PyPDF2 to store the Metadata didn't help either, because gdalinfo couldn't read the data.

Do I miss something here?

  • Looks like it depends on the Metadata variable: gdal_edit -mo "PRODUCER=POLYGON((...))" orig.pdf ... works – christoph Oct 16 '17 at 16:32
  • Ok, not the best idea to use "PRODUCER" for storing custom data. Maybe someone could explain how to use "xml:XMP" for storing custom Metadata? – christoph Oct 16 '17 at 17:07

Yes it is possible. Also, here is a great resource Geospatial PDF

These are two examples of creating metadata as provided in the resource:


Create a PDF from 2 rasters (main_raster and another_raster), such that main_raster is initially displayed, and they are exclusively displayed :

gdal_translate -of PDF main_raster.tif my.pdf -co LAYER_NAME=main_raster
           -co EXTRA_RASTERS=another_raster.tif -co 
           -co OFF_LAYERS=another_raster -co 

Create of PDF with some JavaScript :

gdal_translate -of PDF my.tif my.pdf -co JAVASCRIPT_FILE=script.js
where script.js is :
button = app.alert({cMsg: 'This file was generated by GDAL. Do you want to 
visit its website ?', cTitle: 'Question', nIcon:2, nType:2});
  • Nope, this was not my Intention. I tried something like: gdal_edit -mo "MYDATA=VALUE" orig.pdf – christoph Oct 16 '17 at 14:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.