The issue we are experiencing is that we have a dynamic service using the maplex labeling engine to label pipe invert elevations. It looks great in Arcmap but when when we publish it to ArcGIS Server and use the service in a custom print service, the labels get duplicated. I think this is occuring because the server, like the JS API, is breaking the request for the dynamic service into multiple tiles (512x512). Each tile is rendered by the server separately and thus we get duplicate labels.
Is there any way to disable this? If the server made just one request for the dynamic service, I believe this issue would go away.
I think an alternative would be to force the labeling engine to only label at the end of the line segment. We cannot seem to find an option to force this behavior. Any invert at the end of a line segment offscreen gets labeled at the edge of the extent.
Here's a screenshot of an extent in Arcmap:
And the same extent printed to a PDF via a custom print service (using custom layouts only using the ExportWebMapTask gp tool):
Is it possible to use annotation instead of dynamic labels? That creates considerable more work to create the maps, but it ensures that the labels won't be duplicated. You can also see if you can increase the maximum image height and width for the map service. Maybe this will help to decrease the number of requests that have to be made to create the printed map.