Select to view content in your preferred language

Advanced print solution

52264
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
DavidCaussin
Deactivated User
Tom,

There are 3 mxd 1 per mapservice thus wich printscreen do you would like?
0 Kudos
TomSchuller
Frequent Contributor
No,
if you check the arcgisouput directory, there will be an mxd created in combination with your pdf/jpeg,...

The mxd is for analyzing any problems concerning the export. The content of that mxd will be exported.
You could open the mxd, may be you find out why 1 mapservice isn't displayed.

Otherwise, post this auto-generated mxd and a printscreen of ArcMAP having the sam mxd opened)

Tom
0 Kudos
DavidCaussin
Deactivated User
ok Tom thanks
0 Kudos
TomSchuller
Frequent Contributor
Hy,
your mapservice layers are NOT valid.

Are you using the latest code? I think to remember that I have added a "layer validation check". Layers which aren't valid wouldn't be added.

make sure that your download from the PChPrintSOE-arcgis.com site at least the version of "07/04/2011".

To update the SOE, override the existing jar file and restart your mapservices.

Tom
0 Kudos
DavidCaussin
Deactivated User
Tom,

I have the version of 07/04/2011

i have verify my map services and restart them

now i get this error message
0 Kudos
TomSchuller
Frequent Contributor
Could you restart your ArcGIS-Server services (not the mapservices).

Is your "ortho2009" printSOE enabled? You just have to make the "layout" mapservice PrintSOE enabled.
If it's enabled on the "ortho2009" mapservice, disable it.

Tom
0 Kudos
DavidCaussin
Deactivated User
Could you restart your ArcGIS-Server services (not the mapservices).

Is your "ortho2009" printSOE enabled? You just have to make the "layout" mapservice PrintSOE enabled.
If it's enabled on the "ortho2009" mapservice, disable it.

Tom


It's done restart "layout" with PrintSOE enabled, and disable it on "ortho2009" and the error message link to the "cadastre" mapservice now 😞
0 Kudos
TomSchuller
Frequent Contributor
David,
could you try to open the link which is indicated in your popup?
My code is first trying to access a lyr-file for each printed layer to produce high-resolution/large-paper printouts. These lyr-files will have the direct datasource information to get best quality by working directly with the datasource.
This could be enabled by making the mapsevice also "PrintSOE"-aware.

Otherwise, it will work with the mapservice itself.

In your case, there are problems "Error 500" for any downloads fro your arcgisoutput directly.
You have first to solve this problem prior working with the SOE.

Tom
0 Kudos
TomSchuller
Frequent Contributor
Disable everywhere the "PrintSOE" except in the "layout" mapservice.
0 Kudos
DavidCaussin
Deactivated User
Thnks TOM,

I depend of a informatique service thus the demand for the problem was send to them....
I wait for a response a give you the feedback as soon as possible.

David
0 Kudos