Select to view content in your preferred language

Advanced print solution

53241
296
02-19-2011 10:52 AM
TomSchuller
Frequent Contributor
Please find in the codegallery my first version of an advanced print solution:
http://www.arcgis.com/home/item.html?id=6809086326ea4c76bf026a32bb9dd698

The backend is developed in Java as a ServerObjectExtension: PChPrintSOE

The communication to the SOE is realized by the REST.
So, any client can be used Flex, Javascript, ...
I just created a simple FlexWidget.

Some features:
- full print over the rest api (usable by any client)
- export to pdf,jpeg,png,emf and mxd!
- view paper layout extent live on map
- make print on a "template" mapservice by keeping the predefined layout
- multi-mapservices/multi-server support
- add graphics on the map view positioned in map units
- add elements on the layout view positioned in paper units like scalebar, scaletext


The code is under full development:
- support for wms layer
- code clean up and reorganization

Any suggestions, remarques or help is welcome.

Live demo with public Esri mapservices (last print button):
http://gis.pch.etat.lu/flexViewerPrint/
   - use this print widget with your PChPrintSOE-enabled mapservices for high quality
   - draw first some graphics with the DrawWidget prior making your print (in mxd format)
Tags (2)
0 Kudos
296 Replies
EricVenden
Frequent Contributor
ericv,
could you post a good and a bad example of a jpg-file and the associated mxd file?
I would like to make some tests on it.

Thanks,
Tom


Hi Tom,
Attached are the files you requested.  As I stated in my previous post, the "bad" output only seems to happen on Landscape outputs.  I have not tested this on any page size other than Letter, but I will do so and report back to you.
Thank you
Eric
0 Kudos
ShannakaBeveridge
Emerging Contributor
Hi,

I'm having an issue with the installation of PrintSOE.

After "soemanager.bat -a [server name] [domain name] [username] [password] PCHarcgisSOE.jar" I get the following response:

IOException occured while connecting the server [server name].
The DCOM connection to the remote object has been disconnected <waitForResponse>

Any help would be appreciated.

Cheers,
Shannaka
0 Kudos
TomSchuller
Frequent Contributor
shanma,
on which ArcGIS Server v10 are you?
java or .net
Do you have any ServicePack installed?

Could you post a print-screen?

Tom
0 Kudos
EricVenden
Frequent Contributor
Hi Tom,
Wondering if you had a chance to glance at the issue I've been having.  I have done some more testing.  The issue is the legend symbology readability.  The legend text is fine - it's just the symbology.  I can read the legend if I output to PNG & JPG (Portrait or Landscape) ONLY if the resolution is set to 100 dpi.  If the resolution is set higher on either PNG or JPG, then the legend symbology cannot be seen. I also get poor quality if I export to PDF using the Landscape orientation.  I have found that I can create a good output in Landscape orientation IF the legend is moved in from it's default location on the right edge of the print.  PDF's created using Portait orientation are fine.  I have only tested on Letter size paper.  The mxd's created by your app display properly.
Thanks for your time.
Eric V
0 Kudos
TomSchuller
Frequent Contributor
ericv,
did you have the same problem while exporting from the generated mxd file?
If yes, we should have to look for a bug in ArcMAP.
If not, there seems to be a refresh bug in my code.

Tom
0 Kudos
EricVenden
Frequent Contributor
ericv,
did you have the same problem while exporting from the generated mxd file?
If yes, we should have to look for a bug in ArcMAP.
If not, there seems to be a refresh bug in my code.

Tom


Good morning Tom,
Thanks for the reply.  I have only been exporting from the generated mxd file.  I open this mxd and choose "Export Map" from the File menu.  If I create an mxd using these same AGS services I can export successfully - regardless of the output resolution or format.
Thanks for your time.
Eric
0 Kudos
EricVenden
Frequent Contributor
Tom,
Update to my last post.  I experience the same issue if I create an MXD on my local pc and load the AGS services.  The location of the legend on the layout is the key.  If the legend is placed on the right side of the page, the legend symbology disappears.  If the legend is placed anywhere else, including the left edge, it appears fine. 

Not sure why this happens, but I'll just lock the placement of the legend.  That should work.
Thanks
EV
0 Kudos
IrfanClemson
Frequent Contributor
Hi,
We got the Print Widget to work mostly without issues. One problem we are seeing is that when the Enhanced Search Widget returns a lot of records (say, 156) then we see a '500 error' upon trying to use the Print Widget. We have no problems with records upto 62 or perhaps some more than that.

Could this be some kind of caching issue on the ArcGIS Server? Or some time-out happening?

Attached screen cap shows the error.
Thanks!
Meengla
0 Kudos
TomSchuller
Frequent Contributor
ericv,
so the legend problem is also present in ArcMAP?
If yes, could you post a working and a non-working mxd file, so I could try to reproduce it.

Meengla,
could you post the generated printurl (use fiddler or the flashdebugger)?

Tom
0 Kudos
EricVenden
Frequent Contributor
ericv,
so the legend problem is also present in ArcMAP?
If yes, could you post a working and a non-working mxd file, so I could try to reproduce it.

Meengla,
could you post the generated printurl (use fiddler or the flashdebugger)?

Tom


Hi Tom,
The only difference it appears, is the location of the legend.  If the legend is pushed over to the far right - ONLY on LANDSCAPE - then the legend symbology is poor or missing.  The portrait print works fine.  If you move the legend in a landscape layout over just a bit from the right edge, then the legend symbology shows up.  I have used MXD's generated by your print function and MXD's that I have created from scratch.  The data I load is from the ArcGIS Server services.
I have also created and MXD from scratch and loaded data from SDE (this is the data source for the AGS services).  The output from this MXD, regardless of the legend location, is fine.
As I stated in my previous post, I have moved the location of the legend to the lower-right corner of the map and this works for both Landscape and Portrait orientation. 

If you still want me to post the good and bad mxd's, I can.  Not sure what the "good" mxd would be.
Thanks Tom
Eric V
0 Kudos