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.
Solution: Configure the Legend in the Layout MXD to use a Fixed Frame
For those running 10.1, configure the Legend in the Layout MXD template to use a Fixed Frame.
Another setting to be aware of (v10 as well), is the anchor point of the Legend.
For example, if your legend is in the bottom left corner of your layout, you would want to also set that as your anchor point for your legend. What this means, is when Dekho populates the Layout with layers, the legend will expand up and to the right of that anchor point.
Save the layout and print from Dekho (no restart or refresh of the layout required in Dekho).
Problem: Legend patches are garbled
Legend patches come through distorted and not rendered correctly. This is particularly noticeable on larger paper sizes where the legend is in the bottom right corner.
If a legend patch with a picture fill or marker symbol type falls outside the default page size of the Windows default printer, Windows GDI drawing calls used by Print Service may not properly draw the object or image on output. The default printer page size on a typical machine is Letter or A4 size. The rendering failure on large layout page sizes typically occurs in the page area that is below or to the right of the smaller printer paper size. Thus, it is more common to see this problem when the legend is placed on the bottom or right areas of the page – source: KB40538
Solution: Configure default Printer Preferences/Driver for Dekho to use
The KB from Esri provides a workaround where you ensure that the account doing the printing is configured to set a default printer driver that has its default printer preferences set to be a larger paper size than your largest layout size. For Dekho, the account that is used for printing is not the ArcGIS Server account, but the account that Tomcat is running as.
Two options here. The preferable one is to configure Tomcat to run as an account that has its default printer driver/preferences setup to be larger than the maximum layout size that you use in your Dekho print templates. I logged into Windows as the ArcGIS Server account, installed a plotter driver, set it as the default printer and set the default printer preferences to be A0.
For the Tomcat service, you can then specify to run as the account that you just configured for the default printer/printer preferences:
Make sure that this account uses a password that never expires, and also ensure it has the relevant privileges to access Dekho resources such as Configuration/Layout MXDs.
The other option you can take (wise to run this past your IT Admin first) is to configure the default printer driver/preferences for the System Account via the Registry. The system account is the default account that Tomcat will run as out of the box.
Restart Tomcat and try a print:
On a sidenote, you may notice that the legend labels are not that user friendly (i.e. MAJOR_ROADS). When printing, it pulls the map services in from the Configuration MXD, and will base the legend on how the layers/symbology has been defined in the initial authoring stage for your map services. If you use friendlier names (i.e. Major Roads) before publishing to ArcGIS Server, these will flow through to your layouts.