Select to view content in your preferred language

Advanced print solution

53754
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
JeffersonFerreira_Ferreira
Deactivated User
Some news concerning the PchPrintSOE and it's widget:
Let me know about your experience and feature request by the BitBucket issue system.

Tom



Hi Tom... I've posted my try at bitbucket. in order to solve my issue (error 500) I've substituted the jar and followed the steps above, but the PCHPrintSOEv101 at rest reply with a "invalid url".

PS.: My arcgis version is 10.0
0 Kudos
TomSchuller
Frequent Contributor
hy,
If you are on AGS 10.0, you have to use the PchPrintSOE extension.
The PCHPrintSOEv101 is reserved for ArcGIS 10.1

I'm currently working on a merge of the 2 SOEs into 1 single SOE for both server versions.
Here a more complete quickstart guide: http://gis.pch.etat.lu/flexViewerPrint/quickstart.html

T
om
0 Kudos
AshleyOwens
Emerging Contributor
Hi Tom! Great widget!
If the Aerial basemap is selected, it doesn't show in the PDF. All other basemap layers are included in the PDF when they are selected - Streets, Topo, etc.
Please see examples in the attached file.

Thank you!
Ashley
0 Kudos
TomSchuller
Frequent Contributor
Ashley ,
could you check the generated mxd file in the same folder as the pdf file (arcgisoutput)?
Does it contain the missing layer?

If the layer is included and displayed, just open it as "ArcGISSoc" user on your server. This could be a proxy or internet connection problem.

It the layer is missed, just post (or mail tom@schuller.lu) the debug messages of the printurl or the verbose arcgis server log.
  https://bitbucket.org/tomlux/pchprintsoe/wiki/ErrorReporting

Tom
0 Kudos
BlaiseMacLean
Deactivated User
Hi all,

I've read through the forums but I couldn't find the answers to my issues.

First I tried the Build version and I got the error: "Cannot access a property or method of a null object reference".

So I immediately went for the source code implementation.  Now I'm getting this error:
"Unable to resolve resource bundle "PchPrintWidget" for locale "en_US".

Based on google searches I tried adding this file to my build path:
"C:\Program Files\Adobe\Adobe Flash Builder 4.6\sdks\4.6.0\frameworks\locale\en_US\framework_rb.swc"
Didn't help.

Any push in the right direction would be a welcome.

Thanks,

Blaise
0 Kudos
TomSchuller
Frequent Contributor
Blaise,
just find at the bitbucket page the need locale file:
http://bitbucket.schuller.lu/pchprintwidget30/src

Under "locale", you find the missed file for your project.
Just copy it into your locale folder of the FlexViewer.

Tom
0 Kudos
BlaiseMacLean
Deactivated User
That fixed it, thanks Tom.

I'm back to getting the null object reference error but I can investigate it now that I've got your source code working.  Hopefully it will be another simple oversight on my part.

Have an excellent week.

Blaise
0 Kudos