Hello I know the discussion is old but I have the same problems with Web app Builder and ArcGIS Server 10.2.1. Did you find a solution?
I never did - gave up on printing. Now using the ArcGIS JavaScript API and for printing I am starting to work on a 'print' CSS media query that sets-up the page nicely to go to print
One thing you can try to improve printing time is to optimize your Json that is passed to the service. You can access this Json right before it is used in the print task like this:
esriRequest.setRequestPreCallback(myCallbackFunction);
function myCallbackFunction(arguments) {
//Check for an execute request
if (arguments.url.indexOf("execute") > -1) {
//Get the text that would be sent to the service
var txtJson = arguments.content.Web_Map_as_JSON;
//Parse the JSON to make it easier to change
var tempObj = JSON.parse(txtJson);
// Make your changes / Optimizations here
// For example "tempObj.operationalLayers[1].featureCollection.layers[0].layerDefinition.name = "Test";"
// Convert back to Json
arguments.content.Web_Map_as_JSON = JSON.stringify(tempObj);
return arguments;
}
else {
return arguments;
}
}
I would also recommend optimizing your out fields in all feature layers. If you aren't using the field in the renderer, you probably don't need to send it to the print service.
I've found these setting have greatly increased my print speed with the widget.
Basically making it a format of PNG8, with a px width/height of standard letter paper and a DPI of 72 at the maps extent.