I created a custom print service using ArcPy. It is hosted as GPServer on my test server. The print service uses a JSON configuration file to pull the data from the mxd. The JSON passed from the web application to replace various text elements. However, I am bit stuck on how display the Legend using the JSON passed from the web map. I have a Legend element in my MXD called "Route_Legend".
In this example, I have this json sent to the print service
layout_Options<SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">{</SPAN> <SPAN class="string token">'legendOptions '</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">{</SPAN> <SPAN class="string token">'operationalLayers'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">{</SPAN> <SPAN class="string token">'id '</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'WV_Base_Route_Webmap_022019_Comments_1982'</SPAN> <SPAN class="punctuation token">}</SPAN> <SPAN class="punctuation token">]</SPAN> <SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'copyrightText '</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'County of Los Angeles, Bureau of Land Management, Esri, HERE, Garmin, INCREMENT P, USGS, METI/NASA, EPA, USDA | VENOM'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'scaleBarOptions '</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">{</SPAN> <SPAN class="string token">'nonMetricUnit'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'esriMiles'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'nonMetricLabel'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'mi '</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">' metricUnit '</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">' esriKilometers '</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'metricLabel'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'km '</SPAN> <SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'customTextElements'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">{</SPAN> <SPAN class="string token">' Date '</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">' 3 / 5 / 2019, 9: 02: 34 AM'</SPAN> <SPAN class="punctuation token">}</SPAN> <SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">' authorText '</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">' Web AppBuilder for ArcGIS '</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">' titleText '</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'TEST '</SPAN><SPAN class="punctuation token">}</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN></SPAN>My question is How do you pull the legend data into your output? I work with PDFs most of the time. I have done my research online and I didn't find one that uses a JSON configuration file. The JSON configuration file looks like this:
<SPAN class="punctuation token">{</SPAN> <SPAN class="string token">"layer_title"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Route_Title"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"district_fld"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"District"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"scenario_fld"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Scenario"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"version_fld"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Version"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"cis_link_id_fld"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"CISLINKID"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"map_title_fld"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Map_Title"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"out_flds"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"District,Scenario,Version,Map_Title,CISLINKID"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"title_element_text"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Route Number"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"district_element_text"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"District"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"scenario_element_text"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Scenario: xyz"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"version_element_text"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Version: xyz"</SPAN><SPAN class="punctuation token">}</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN></SPAN>