Export Multiple Single PDFs By Group From ArcGIS Pro Map Series

10-27-2020 10:35 AM
Status: Open
Labels (1)
Occasional Contributor III

I have a Map Series in which each page is a floor plan for different sites. Each site's plans are grouped by the site address. I've had a request for single pdfs from each site, where the output filename is the address. That single pdf should contain all the pages of floors from the site. I need to do this for nearly 100 sites. Currently the only way I can specify output filenames based on page number or name is to choose the "multiple PDFs" export options. If I use the address as the filename, it will create one pdf and continually overwrite each page with the same name. If I choose the single PDF export option, I have to specify the filename before the export, so I would have to do this manually for all the sites. 

Here is a screenshot with an example. I want the pdf to be named "10625 SW 35TH AVE.pdf" and contain all eight pages for the Jackson site. I want to be able to do this as a single export resulting in a single pdf (with multiple pages) for each address group



I think I understand what is being suggested here. Instead of selecting 'Single PDF' and getting one document with many pages and a file name as entered in the File path parameter, you want the document to pull the file name from the Map Series Group of the selected pages. I see this working in a way that instead of only having the 3 current options (Single PDF / Multiple PDFS - Page Name as suffix / Multiple PDFs - Page Number as suffix), you would have additional options available such as;

  • 'Multiple PDFs - Group Name as suffix' (where it would export all pages in a selected Group to a single document with that groups name, and then repeat for any other selected groups)
  • 'Multiple PDFs - Group and Page Name as suffix (where each page would come out individually as per current Multiple options but with both the Group Name and Page Name in the file name. 

These options I see being particularly handy for where your Grouping function is identifying separate document areas (in our use cases a plantation) and then there are pages listed for each plantation (i.e. compartments). We want to distribute the plantation level documents to staff and file individually and currently need to merge single PDFs together if run in bulk, or export a selection of pages one plantation (Group) at a time. 

Additionally, I believe we could be given a bit more control over then naming options (i.e. where the page name/number is positioned instead of just as a suffix (i.e. as a prefix or inserted at character # in File name) but I'll post this up in a separate post (Provide more options for naming files when exporting a Map Series ). 


Yes, that's exactly right. Our city mapping department has requested floor plan maps with school site addressed as PDF filenames for their 911/First Responder systems. So each site address PDF would have multiple pages from the map series denoting each floor of each building at each site. I have no way of exporting this for them at the moment. 


I was just about to suggest the free Bulk Rename Utility as a work around but I saw on my post you've already pointed it out as your current practice. We too use it to get around naming conventions that Pro can't deal with. 


Is there any movement on this? I'm not only having to export the PDFs in Python, because the PDF export in Pro is still buggy, but I'm having to create another Python script to merge all these PDFs by site and set the address as the filename. 


Currently when exporting a map series by multiple page name (group?), it creates a separate single page PDF for each group, but if there are multiple pages in a group, each page in a group is written over the other since it has the same page name essentially. The output is a single page PDF for each group. Not sure if this is a bug or intended, but either way it would be nice to have a "single PDF per group' option where each group is a single PDF based on the group name with all the pages in that group based on the maps series. 

Otherwise you have to select the pages in the group under the map series button on the table of contents, go to export as a single file, re write the file name, export, reselect the next group etc etc. Which for more than a few groups gets to be painful and an all day sort of task. 






It would be great if mapseries could create multiple PDF-files  with multiple pages using "group by" (in optional fields). Within mapseries it is possible to group a set of layouts by tabular data with "group by".

Mapseries doesn't use these groups to generate separate PDF-files. It would be helpfull if separate PDF-files could be created using these groups, when you press the export button.




Have you considered Python Map Automation?

Groups are based on a field in the index layer.  You can simply query for each group to create a selection set and use the selected export option.  


Here is a snippet of code for the above project:


import arcpy, os, sys

p = arcpy.mp.ArcGISProject("CURRENT")
l = p.listLayouts('Layout')[0]

if not l.mapSeries is None:
    ms = l.mapSeries
    if ms.enabled:
        ms = l.mapSeries
        indexLyr = ms.indexLayer
        arcpy.management.SelectLayerByAttribute(indexLyr, "NEW_SELECTION", "TeamInfo.Conf_Div = 'AFC-EAST'")
        ms.exportToPDF(r"C:\Temp\AFC_EAST.pdf", "SELECTED")
        arcpy.management.SelectLayerByAttribute(indexLyr, "NEW_SELECTION", "TeamInfo.Conf_Div = 'AFC-NORTH'")
        ms.exportToPDF(r"C:\Temp\AFC_NORTH.pdf", "SELECTED")




I have yet to dive into python or python map automation, but if I understand correctly, the SelectLayerByAttribute couple lines of code is typed for each group? Correct? I'm not even sure  where to type out the coding! Suppose it'd work for any of the projects that don't have a lot of groups! Maybe a lot of set up for projects with a lot of groups 😅!  I'll have to give it a try next time. 

Maybe Esri developers could plug this type of thing into a button we just click for us python nubes. 😁


I'm proficient with Python, but I'm with Teresa. I'd like to have this functionality with the touch of a button. I have to export Map Series for different audiences with different filenames, and it would save me a lot of time if I could just have different export options. 

Also, the group by name export option is still broken at Pro 2.9. Don't know if it's been fixed at 3, but I won't upgrade until at least 3.1. 



I understand that you may not be familiar with Python map automation.  Our APIs are designed to help customers extend the capabilities of the UI while avoiding overloading the UI with options. But that is not to say we won't consider improving the export options in the UI.

The script could be modified to iterate through each unique "group" value and do the same export without having to hard code the values in the script.  I kept it very simple so you could see the logic vs the interface.

Jeff - Layout and arcpy.mp teams