Hexagon Geospatial
MENU

WebGIS Q&A

WebGIS enables powerful geospatial web applications and services that securely share your organization’s rich geospatial data, and provides tools to deeply examine spatial data and create value added products, on demand.
Showing results for 
Search instead for 
Do you mean 

Configure and troubleshoot Geospatial Portal server side printing

by fmak on ‎06-06-2016 11:12 AM - edited on ‎04-21-2017 04:04 AM by Technical Evangelist (857 Views)

General Portal Print Service Overview:

The server based printing service uses the server on which the service resides to produce the printed map.  Internet explorer or PhantomJS are used to build the print thus using the server’s resources.

Loose description of that process:

  1. The Geospatial Portal makes a request to the portalprintservice.svc passing the service the relevant information required to build the map.
  2. The print server makes connections to the same data source as the Geospatial portal and builds the map using the area that was defined in the print process.
  3. The print server uses IE or PhantomJS (2014 only) to render the map and the template in the desired file type. (Note: Printing to PDF requires GraphicsMagick 1.3.18-Q16 to convert the output to PDF).
    The print service then sends back the completed print sheet back to the client in the desired file format.

Configuration:

  1. Prerequisites  that need to be installed (.NET 4 Full Framework, IE 10 – IE9 or PhanomJS, and GraphicsMagick 1.3.18-Q16 tool for PDF printing)
  2. Disable Internet Explorer Enhanced Security on the server.
  3. Insure that the files from the C:\Intergraph\Services\Supporting Services\PrintService\template are  copied to the C:\Intergraph\Services\SupportingServices\PrintingService
  4. In IIS confirm that C:\Intergraph\Services\SupportingServices\PrintingService is an application called PrintService.
  5. Create an application Pool in IIS that uses an account that has local Administrator privileges and has the Managed Pipeline mode set to Integrated.
  6. Assign the PrintService application the Application pool you have just defined.
  7. If using PhantomJS (WebMap 2014 only) modify the web.config file of the Geospatial Portal, <webclient>, <printing> sub section, and include
     <printing tileSize="2000" mapSizeLimit="5000" timeout="00:02"
     defaultService="FirstExternal" precisionGeographic="7"
     precisionProjected="0" printingEngine="phantomJS"
     phantomJSProgramLocation="c:\intergraph\Geospatial Portal\Program\PhantomJS\phantomjs.exe"/>
  8. PDF printing option requires the Web.config of the service to be edited to provide the path to the GraphicsMagick tool
    <applicationSettings> section of the Print Service Web.Config file:
    <setting name="ConverterPath" serializeAs="String">
       <value>c:\Program Files\GraphicsMagick-1.3.18-Q16\gm.exe</value>
    </setting>

Troubleshooting:

  1. Are you able to use the local printing in Portal? If the local printing does not work then the PortalPrintService.svc will not work either.
  2. Are you able to print using the PortalPrintService.svc on the browser running on the server?
    This confirms that the PortalPrintService can access all of the required data sources etc… which is not always the case as there may be a firewall or proxy.  Note that IE settings for Proxy are used.
  3. If you can't output to PDF confirm that PNG output is possible. The PDF file is produced by converting the PNG to PDF using GraphicsMagick.
  4. Check the C:\Intergraph\Services\Supporting Services\PrintingService\App_Data\Resources\Logs for textlog.txt file. This provides valuable information in regards to the PortalPrintService.svc.
    Known issues:
    1. Service restricts image size requests to a maximum of 2001 pixels in width and a maximum of 2001 pixels in height
      Exception report from the service is as follows:
      <?xml version='1.0' encoding="UTF-8" standalone="no" ?>
      <!DOCTYPE ServiceExceptionReport SYSTEM "http://www2.demis.nl/WMS/exception_1_1_1.dtd" >
      <ServiceExceptionReport version="1.1.1">
         <ServiceException>
            <![CDATA[WMS Warning: HEIGHT is restricted to 2001 pixels for this application]]>
         </ServiceException>
      </ServiceExceptionReport>
    2. PDF Printing.
      GraphicsMagic convert command may fail because the paths for the files passed to the convert command are too long.
      ERROR Intergraph.MapPrinting.PrintService.Common.PrintService - Could not find file 'C:\Intergraph\Services\Supporting Services\PrintService\App_Data\Resources\Pdfs\17cb3dc3-dcc7-4310-9c03-62bd97d8f25b.pdf'.   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
  5. There is a known issue where spaces in the service path may cause issues. Change the path  from c:\intergraph\services\supporting services\printservice to c:\intergraph\services\supportingservices\printserviceand reconfigure your service in IIS.
  6. Keep in mind that the print service does take resources of the server so you may have printing issues because the server does not have enough CPU or memory to complete the requests. Start small and note if failure is caused by the server being overloaded by the requests.
Comments
by fmak
‎06-06-2016 11:15 AM - edited ‎06-06-2016 11:17 AM

This helpful article (see zip attachment) is written in the v14 days but it is pretty much valid for v2015 (beware of the printservice folder location between v14 and v15)

Contributors