Select Page

Efficient web printing can be tricky sometimes, especially when you add any level of complexity to it.  A single page webmap, using ESRI’s out-of-the-box printing service is fairly straight forward.  But start adding in custom templates, custom symbologies in legends, multiple pages/maps, client-side graphics, higher resolution requirements, etc…and things can start getting complicated and you can quickly watch performance take a nose dive!  Recently we assisted a client in developing a very complex javascript-based webmap viewer that had some pretty complex requirements for the printing component.  We discovered quite a few important tips and tricks that we wanted to share.

The Requirements

  • Users should be able to hit a single “print” button, select up to 6 separate maps to print, and get a multipage PDF back.
  • Each of the pages in the multipage PDF represent completely separate webmaps.
  • Some of the webmaps had client-side graphics that needed to be in the PDF output.
  • The standard 96dpi webmap printing was not acceptable, they needed a higher resolution to get labels to print out clearly from the PDF.
  • Legends in each printed page should represent only what’s actually showing up in that area the user chose to print.  Custom picture marker symbols were also being used.

 

The Challenges

We first started with the standard out-of-the-box printing service ESRI includes with ArcGIS for Server.  Right away we noticed a few significant problems…low resolution on labels and missing symbologies from the legend being the two big ones.  Additionally, of course, was that the printing service only handles a single map/page.  We started testing out more custom printing solutions such as the one outlined in ESRI’s Advanced Printing Tutorial that capitalizes on the arcpy ConvertWebMapToMapDocument functionality.  This worked great and was very fast (10-15 seconds per print job) and also fixed the missing symbologies in the legend issue since it’s actually using all local layers and sybmologies to export the MXD layout to a PDF.  Problem was that it DOES use local datasets, which doesn’t account for those client-side graphics layers we needed to print as well.  Eventually we had to go back to the standard printing service which uses the ExportWebMap function as sends the data to be printed across the wire from the client (rather than using local dataset equivalents).  However, to resolve the missing symbologies problem, we discovered leaving local layers in the Table of Contents of the custom print template MXDs (& using those in the layout’s legend) fixes the missing custom symobls that weren’t coming over in the web calls correctly.  We bumped up the dpi in the exportOptions section of the printing call to get the labels printing more clearly.  Then we added a custom geoprocessing service to append the PDFs from all the separate webmap printjobs into one final multipage PDF returned to the user.  Finally we had our rather complex printing solution working perfectly….or so we thought!

Performance Problems

While this solution (combining custom print templates (including local TOC layers) with the standard ExportWebMap printing service and an AppendPDFs service to merge it all together) worked well, the initial performance was dismal!  In the beginning of implementing this solution, to return a 6 page PDF to the user was taking 16-20 minutes!  Not acceptable by any stretch of the imagination.  How do we improve performance to an acceptable level?

The first problem we discovered was that the 6 separate printjobs were being fired off synchronously, waiting for each page to be returned before firing out the call for the next one.  Standard way to do it, but not what we needed for optimal performance.  We had setup the printing service itself to run asynchronously, but it was not being used that way by the client viewer.  Once that was fixed in the viewer’s code, performance improved significantly, but was still averaging 5-6 minutes to return a combined PDF.  Still not acceptable…

We did a lot of research and debugging on what was going on to improve performance.  What we ultimately discovered the culprit to be was the dpi setting in the web printing calls.  We’d set the dpi request to 300 in the exportOptions since that’s what had been being used by the client’s GIS department to print from ArcMap, but when we started running the printing service locally and timing the results, the bottleneck became very apparent.  Testing various dpi’s for individual printjobs showed the following:

  • 96 dpi = ~27 seconds
  • 200 dpi = ~33 seconds
  • 250 dpi = ~1:39
  • 300 dpi = ~2:46

 

For some reason, there appears to be a break-over point at which the web printing service can’t handle that much data and loses performance rapidly.  For us in this case, that point was right around 200dpi.  (Your situation may vary since number of layers, complexity, size of area, etc all likely contribute.)  The PDFs being printed were no bigger than 11”x14” so 200dpi showed no real visible difference as compared to 300dpi in the outputs.  By dropping the exportOptions dpi request down to 200, our 6 page PDFs started returning to the user within 1:30 on average and all tests we ran returned in under 2 minutes.  Still not instantaneous, but quite a bit better than the original 20 minutes we started with!  So the lesson learned with web printing…dpi matters!

 

Tips & Tricks Summary

Problem Encountered

Solution/Work-around

Need multipage PDF, standard web printing is only single page/map. Fire off all webmap printjobs separately (asynchronously) and then combine outputs using custom AppendPDFs  geoprocessing service.
Custom picture marker symbols not showing up in legend prints. Use custom print template MXDs with local versions of map service layers in TOC & legend.
Labels fuzzy in printed PDFs. Increase dpi of layers in the exportOptions of the Web_Map_as_JSON string.
Very slow performance in web printing. Print all pages simultaneously (asynchronously); lower dpi to 200 to reduce size of data to be processed during printing.

 

WebMapSolutions
Schedule Free ArcGIS Consultation
Our goal is to help you successfully apply ArcGIS to solve your business problems. Conducted by an ArcGIS expert, our free 30 min consultation will help move you forward.
Thank You. We will contact you as soon as possible.
SUBSCRIBE TO OUR BLOG
Our blog is filled with lively discussion, news, ideas. We take a fresh perspective on the rapidly changing world of GIS. Don't miss a post ... join over 1000 of your peers.
Do you want massive traffic?
Dignissim enim porta aliquam nisi pellentesque. Pulvinar rhoncus magnis turpis sit odio pid pulvinar mattis integer aliquam!
  • Goblinus globalus fantumo tubus dia montes
  • Scelerisque cursus dignissim lopatico vutario
  • Montes vutario lacus quis preambul den lacus
  • Leftomato denitro oculus softam lorum quis
  • Spiratio dodenus christmas gulleria tix digit
  • Dualo fitemus lacus quis preambul pat turtulis
* we never share your e-mail with third parties.
WebMapSolutions
CONTACT US
Are you looking for advice or help with ArcGIS? We are happy to share with you our thoughts and expertise to move you forward. Fill out the form below and we will be in contact soon.
Thank You. We will contact you as soon as possible.
WebMapSolutions
WORKSHOP SIGN UP
Our goal is to help get started and maximize GIS ROI. Conducted by on of our GIS experts, our free 1 hr Discovery Workshop will provide you a GIS road-map.
Thank You. We will contact you as soon as possible.
WebMapSolutions
Schedule a GeoAppSmart Demo
GeoAppSmart for ArcGIS we have designed with flexibility in mind. Let us show you how the app works. Fill out the form below, and we will contact you to set up a demo.
Thank You. We will contact you as soon as possible.
Request a Demo
Learn more about GeoAppSmart for ArcGIS. Schedule a demo. We can show you the features of this is a new breed on super flexible ArcGIS apps..
SUBSCRIBE TO OUR BLOG
Our blog is filled with lively discussion, news, ideas. We take a fresh perspective on the rapidly changing world of GIS. Don't miss a post ... join over 1000 of your peers.
Discounts!
Subscribe now to our free daily newsletter and get special offers and 20% discount.
More than just MOBILE .. All device ArcGIS apps are finally HERE!
GeoAppSmart for ArcGIS is one of a new breed of web based ArcGIS apps which:

  • Runs on any device - PC, laptop, smartphone, tablet
  • Can be used anywhere - Online or offline
  • Infinitely flexible - Built using plug-in tools
  • Easy to set up, configure and use

Download our new eBook, and learn more about these new super flexible web apps.
* we never share your e-mail with third parties.
New to ArcGIS Online and wondering how to GET STARTED?
Our free eBook 'Success with ArcGIS: Your Roadmap' will walk you through the critical success elements:

  • Defining the problem
  • Evolving the story
  • Building the runway
  • Solution implementation

If you are looking to JUMPSTART your deployment and use of ArcGIS Online this eBook is for you.
* we never share your e-mail with third parties.
S
Subscribe to Our Newsletter
Our newsletter is filled with news, tips, tutorials and lively discussion focused on the exciting, rapidly evolving world of GIS. Join over 2000 of your peers.
     
Wondering about Mobile GIS?
Our free eBook 'Your Guide to Mobile GIS' will help you get started and move forward with this exciting technology. We cover:

  • Your mobile GIS options
  • Provide case studies
  • Discuss best choices
  • Look ahead

If you are looking to improve how your mobile staff get their work done. This free eBook is for you.
* we never share your e-mail with third parties.
Want to get the most out of ArcGIS Online?
Our free eBook 'Success with ArcGIS Online' will walk you through the critical success elements including:

  • The Why
  • The Who
  • The How
  • The Where

If you are looking to get started or maximize your ArcGIS Online ROI, this eBook is for you.
* we never share your e-mail with third parties.
IoT on Map - Real-Time Reporting, Tracking and Monitoring Made Simple
Download our free Internet of Things eBook. Learn how to easily track moving assets, monitor fixed assets and report problems in real-time. Simple, flexible and affordable.
Want to get the most out of ArcGIS Online?
Download our free eBook 'Success with ArcGIS Online'. The eBook walks you through the key success elements: the why, who, how and where. Get started or maximize your ArcGIS Online ROI.
Sign up for our free GIS Discovery Workshop
Wondering how to get started or maximize your GIS ROI? Our free 1 hour workshop is designed to provide you a road-map to success with GIS. Sign up for it today.