Multiple Pages in a Single Layout

2419
10
01-13-2021 10:47 AM
Status: Open
Labels (1)
jcarlson
MVP Notable Contributor

Before I came to work at an ESRI workplace, I was an avid QGIS user. Still am, really, but as ArcGIS Pro has developed, I find myself needing to use Q less and less to hack together an as-yet-unimplemented feature in Pro.

(Major props on the eyedropper!)

There is, alas, still one feature that I desperately want: multiple-page layouts.

In the course of my work, there are a number of times when it is helpful to have spatial and non-spatial components on separate pages, and the sheer amount of information in my layout cannot realistically be squeezed into a single page. Or at least, not that the average person could print out. I'm all for digital maps, but I know we have other folks in our county who want it on paper, and I'd like to conveniently oblige them.

The biggest of these items are our Change Records we generate when changes are made to the cadastre.

Here's one for reference.

Combining multi-page layouts with a Map Series would absolutely make my day.

What are my alternatives?

  1. Make each page a separate layout
  2. Use some sort of mail merge procedure to generate the non-spatial pages
  3. Make my layouts potentially tabloid-sized
  4. Use Python
  5. Use QGIS

Options 1 and 2 create separate files, which then have to be merged together, adding more steps and intermediate file storage to what is currently a batch process.

Option 3 we tried, but the increased loading time and unprintable nature of the page was not desirable for our users.

Option 4 is a maybe, but there's no way the spatial component will look half as nice as Pro, especially when it comes to labelling.

Option 5 is what I'm currently doing, but it comes with a host of its own limitations, and means that I have to work in two programs during my "weekly update" process, which is sub-optimal.

Final note: I've tried making a reeeeeeally tall layout in Pro and hoping that in the "Print to PDF" process it would cut them, but no. It just generates a really tall PDF.

10 Comments
JeffBarrette
Status changed to: Open

Hello JCarlson,

Thank you for your feedback and idea.  I'm with Esri and work on both the Layout and Python Map Automation (arcpy.mp)  teams.  I'd like some more information about how the non-spatial page is being generated.  Can you successfully create the page(s) in ArcGIS Pro on a layout?

Also, your comment about Python in option #4 - "no way the spatial component will look half as nice as Pro".  Python can be used to automate the creation of multi-page output but the content is authored in Pro.  So that means you can get the output quality the Pro but arcpy.mp can be used to automate the creation of multiple pages stitched together into one resulting PDF.

ArcGIS Pro also supports Reports. I'm not sure if you tried using Reports for your non-spatial pages.  If you were able to get the formatting you want, then you could use layouts for your spatial part and reports for your non-spatial pages AND python to combine everything into one product.

There is much more I can add but I don't want to complicate anything until I better understand how you generate the non-spatial page.  Feel free to respond here or contact me via jbarrette@esri.com.  

ThomasHamill

I realize this is an ArcMap solution and not an ArcGIS Pro one, but you could do the really tall data frame layout with the various data-driven spatial and non-spatial map elements and have it tile the three 8.5x11-inch pages, stacked landscape:

ThomasHamill_0-1610566518996.png

 

JeffBarrette

Thomas,

Concerning ArcMap equivalency, did you know you could also tile to PDF in Pro?  Did you try the following?Capture.PNGCapture.PNG

I'm still interested in your non-spatial data.  Again, feel free to email me.

Jeff

jcarlson

@JeffBarretteIt's been a while since I tried the Print dialog. Was that added in the past few point releases? The last time I tried to do the multi-page PDF in Pro was using the Export dialog, so I probably missed the tiling option.

The non-spatial data consists of a couple of attribute tables with an ID field that match the feature the Map Series is based on. With respect to tiling, even if I opted to go that route, one of the key features in Q that I like is the option to have a layout page simply not generate if there are no matching features in the given table. In this way, my map series can accommodate one file exporting with half a dozen non-spatial pages, and others with only one.

Reports, unfortunately, don't fit the bill, as I need a separate output file per feature as opposed to a report for a full layer. Or I should say, they haven't fit the bill, but I was dealing with the GUI.

I very much like your suggestion of bringing layouts and reports together in python, and I'll definitely be digging into arcpy.mp to see what I can do. I've admittedly not spent much time in the mapping module of arcpy.

JeffBarrette

@jcarlson please keep me in the loop.  We have future plans to create a Map Book tool (vs map series).  map books could include the contents of a map series PLUS all the other components that go into making a final map book project, like title pages, TOCs, index pages, etc.  Currently arcpy.mp is the only solution for what I'm calling a map book.  Some advanced solutions are possible.  Working with your scenario can help us drive requirements.

Jeff

jcarlson

@JeffBarretteWill do! The Map Book sounds really great, too. If I can generate a satisfactory result, I'll email you the nitty gritty.

AlyciaRajendran_esri

Hi @jcarlson!

I am a member of the Reports team for Pro. We can definitely produce those non-spatial reports right now. It just depends on how automated you want it to be.

The first step is creating a report using the feature layer. You can use the UI to modify the report to look how you want.

1. No automation: When exporting this report, there are a few things to consider. A report honors selection sets and definition queries for the layer, or you can use an expression to query a subset of data to use in the report.

In the example above, before exporting your report, you could select the parcel in the map or table, set a definition query for that parcel on the layer, or set an expression in the report--all of which would result in a one feature report.

2. Some automation: Use the Export Report to PDF geoprocessing tool within a model or in the Pro Python window. The tool also honors selection sets and existing definition queries on the layer. You have the option of setting an expression before exporting as well.

3. All automation: You can create, modify properties, add elements, and export reports using the .NET SDK. Similar to using Python to create multi-page-layouts, the content of these reports would be authored in Pro.

Some helpful links:
Overview documentation: https://pro.arcgis.com/en/pro-app/latest/help/reports/reports-in-arcgis-pro.htm 

How to set the expression when you create the report: https://pro.arcgis.com/en/pro-app/latest/help/reports/specify-report-data.htm#GUID-07BB1458-EB03-421... 

Export Report to PDF gp tool: https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/export-report-to-pdf.htm 

.NET SDK: https://pro.arcgis.com/en/pro-app/latest/sdk/api-reference/#topic18660.html 

 

I hope this helps. You can contact me via email arajendran@esri.com 

jcarlson

@AlyciaRajendran_esriThanks for the extra information! I'd thought about going the query layer route and using a query parameter, but often by the end of a busy week, there might be as many as a few dozen reports to generate.

I believe I will attempt the full-automation route, and use reports for the non-spatial elements.

DougBrowning

My use case here is to have page 1 be summary info, page 2 is a table element and maybe page 3 is the map.  So I have a 3 page PDF per feature.  

I am not seeing a way to do it.

JeffBarrette

@DougBrowning I believe it can be done with arcpy.mp.  Is Page 1 an ArcGIS Pro layout or is it a standalone PDF?  Page 2 could be a separate layout in the same project with the tabular info and Page 3 could be a third Layout.  

You can use arcpy.mp to export each layout into a PDF and then use Python to add them all into a single page PDF.

This code example appends 3 PDFs into one PDF (with 3 pages): https://pro.arcgis.com/en/pro-app/latest/arcpy/mapping/pdfdocument-class.htm

Jeff