Je sais que cette question est ancienne, mais j'ai eu ce problème récemment et j'ai finalement trouvé un moyen de le faire.
Cela peut être accompli en utilisant Osgeo gdal, qui se trouve avoir un pilote PDF inclus. Fondamentalement, vous pouvez faire quelque chose comme:
from osgeo import gdal
#Open your Unreferenced PDF
src = gdal.Open("originalFile.pdf")
Ensuite, obtenez ou calculez en quelque sorte le système de projection et la géotransformation que vous souhaitez ajouter au PDF. Par exemple, nous pouvons extraire ceux d'un GeoTiff en faisant:
#Open the Tiff to obtain its data from
geoTiff = gdal.Open("someMap.tif")
#Obtain its Projection system and its Geotransform
coords = geoTiff.GetProjection()
gt = geoTiff.GetGeoTransform()
Enfin, définissez la projection et la géotransformation sur votre PDF, puis créez une copie avec le pilote PDF:
src.SetProjection(coords)
src.SetGeoTransform(gt)
#Instantiate a PDF driver and save your Referenced copy
pdf_driver = gdal.GetDriverByName("PDF")
dst = pdf_driver.CreateCopy("referencedFile.pdf", src, 1)
Le résultat est un PDF géoréférencé pour que son coin supérieur gauche soit placé à l'emplacement gtà l'aide du système de projection coords. Cela peut être vérifié en ouvrant le PDF sur QGis ou ArcGis, ou bien en utilisant la gdalinfocommande sur votre PDF référencé.