Lets get straight to it:
Problem: Legend spills off page
A common issue, particularly with maps that have a large number of layers or layers with thematic symbology.
You will find this post useful if you hit problem when printing with SSL enabled ArcGIS server.
To use SSL, an application server must have an associated certificate for each external interface, or IP address, that accepts secure connections. The theory behind this design is that a server should provide some kind of reasonable assurance that its owner is who you think it is, particularly before receiving any sensitive information.
Once Dekho administrator enabled SSL in IIS(Internet Information Service) for ArcGIS server 10.0 and created a self-signed certificate. The Dekho server side will need to have the certificate to access the ArcGIS output folder in order to open the printed files. Following are steps to import the certificate to Java virtual machine.
1. Get certificate of SSL Server, there are many ways of doing that:
- Use Firefox to export the SSL server certificate. Firefox -> Options -> Advanced -> Encryption tab -> View Certificates -> Servers tab -> Add Exception -> Type SSL server URL in the Location field -> Get Certificate -> View->Details tab -> Export
- Use keytool.exe in %JAVA_HOME%/bin:
<JAVA_HOME>\bin\keytool -genkey -alias server-alias -keyalg RSA -keypass changeit -storepass changeit
When you press Enter, keytool prompts you to enter the server name, organizational unit, organization, locality, state, and country code. Note that you must enter the server name in response to keytool’s first prompt, in which it asks for first and last names. For testing purposes, this can be localhost.
2. Use keytool.exe in JRE or JDK to import the certificate to a keystore
<JAVA_HOME>\bin\keytool -import -v –trustcacerts -alias server-alias -file server.cer
-keystore keystore.jks -keypass changeit
3. Add following Java runtime configurations for Tomcat:
-Djavax.net.ssl.keyStore = <path_to_your keystore.jks file>
-Djavax.net.ssl.trustStore = <path_to_your keystore.jks file>
-Djavax.net.ssl.keyStorePassword = <your_new_password>
4. Restart your Tomcat and the printing with SSL should good to go.
It is great to see that the generic ArcPy sample we provided is getting a lot of download hits.
On a previous post, I did a video on how you can setup your Layout MXD to sync multiple data frames to the main data frame, so that you can display a variety of basemaps in separate data frames, all in the one printout.
I also did a post on how you can append a separate page into your one Dekho export, dedicated for a static legend.
But what happens if you wanted to click Print from Dekho once, but have a multi-page PDF, showing your area of interest with multiple basemaps on separate pages? Read more >>
With some minor tweaks to the existing ArcPy print sample for Dekho, you can point the script at your source data as opposed to the map services that have references to the source data.
This not only improves the quality (as the map services ‘rasterise’ the raw data), but also dramatically speeds up the process.
For a 600DPI print at A1 using the standard ArcPy print sample for Dekho (via map services) = 1 minute