# How to print a WpfMap

**URL:** <https://community.thinkgeo.com/t/how-to-print-a-wpfmap/1272>\
**Category:** WinForms\
**Created:** [June 3, 2010, 5:52am UTC](https://community.thinkgeo.com/t/how-to-print-a-wpfmap/1272 "2010-06-03T05:52:41Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alexander](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/a/bc8723/32.png) [@Alexander](https://community.thinkgeo.com/u/Alexander)\
**Post date:** [June 3, 2010, 5:52am UTC](https://community.thinkgeo.com/t/how-to-print-a-wpfmap/1272/1 "2010-06-03T05:52:41Z")

</div>

Hello,

I&nbsp;just&nbsp;wanted&nbsp;to&nbsp;know&nbsp;how&nbsp;to&nbsp;print&nbsp;a&nbsp;WpfMap?

And&nbsp;wether&nbsp;there&nbsp;is&nbsp;an&nbsp;existing&nbsp;example&nbsp;project&nbsp;for&nbsp;printing&nbsp;a&nbsp;complete&nbsp;WpfMap?

thanks,

Alexander

---

<div class="post-metadata">

**Author:** ![ThinkGeo](https://community.thinkgeo.com/user_avatar/community.thinkgeo.com/thinkgeo/32/25029_2.png) [@ThinkGeo](https://community.thinkgeo.com/u/ThinkGeo)\
**Post date:** [June 3, 2010, 8:30pm UTC](https://community.thinkgeo.com/t/how-to-print-a-wpfmap/1272/2 "2010-06-03T20:30:49Z")

</div>

Alexander,

Thanks&nbsp;for&nbsp;your&nbsp;interests&nbsp;in&nbsp;Map&nbsp;Suite&nbsp;component&nbsp;and&nbsp;welcome&nbsp;you&nbsp;to&nbsp;ThinkGeo&nbsp;Map&nbsp;Suite&nbsp;Desktop&nbsp;Discussion&nbsp;forum.  
&nbsp;  
I&nbsp;made&nbsp;a&nbsp;simple&nbsp;sample&nbsp;for&nbsp;your&nbsp;to&nbsp;print&nbsp;map&nbsp;in&nbsp;Wpf&nbsp;Map&nbsp;control,&nbsp;get&nbsp;it&nbsp;in&nbsp;attachment.&nbsp;To&nbsp;run&nbsp;this&nbsp;application,&nbsp;you&nbsp;have&nbsp;to&nbsp;reference&nbsp;the&nbsp;DLLs(MapSuiteCore.dll&nbsp;and&nbsp;DesktopEdition.dll)&nbsp;and&nbsp;have&nbsp;to&nbsp;change&nbsp;the&nbsp;data&nbsp;path&nbsp;if&nbsp;needed.  
&nbsp;  
Any&nbsp;more&nbsp;questions&nbsp;just&nbsp;feel&nbsp;free&nbsp;to&nbsp;let&nbsp;me&nbsp;know.  
&nbsp;  
Thanks.  
&nbsp;  
Yale  
  
[2140-Post7598.zip](https://community.thinkgeo.com/uploads/default/original/2X/2/2c0361c90dd56e6abb4a5132996dc48c627334a6.zip) (11.7 KB)

---

<div class="post-metadata">

**Author:** ![Alexander](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/a/bc8723/32.png) [@Alexander](https://community.thinkgeo.com/u/Alexander)\
**Post date:** [June 8, 2010, 6:36am UTC](https://community.thinkgeo.com/t/how-to-print-a-wpfmap/1272/3 "2010-06-08T06:36:47Z")

</div>

Hello&nbsp;Yale,

&nbsp;

thanks&nbsp;for&nbsp;your&nbsp;reply,&nbsp;but&nbsp;which&nbsp;version&nbsp;of&nbsp;MapSuite&nbsp;do&nbsp;I&nbsp;need?&nbsp;Because&nbsp;I&nbsp;can't&nbsp;compile&nbsp;the&nbsp;project,&nbsp;by&nbsp;reason&nbsp;that&nbsp;a&nbsp;namespace&nbsp;(PrinterGeoCanvas)&nbsp;is&nbsp;missing.

&nbsp;

Thanks,&nbsp;

Alexander

---

<div class="post-metadata">

**Author:** ![ThinkGeo](https://community.thinkgeo.com/user_avatar/community.thinkgeo.com/thinkgeo/32/25029_2.png) [@ThinkGeo](https://community.thinkgeo.com/u/ThinkGeo)\
**Post date:** [June 8, 2010, 7:33pm UTC](https://community.thinkgeo.com/t/how-to-print-a-wpfmap/1272/4 "2010-06-08T19:33:19Z")

</div>

Alexander,&nbsp;  
&nbsp;&nbsp;  
&nbsp;The&nbsp;last&nbsp;public&nbsp;release&nbsp;4.0.0.0&nbsp;should&nbsp;have&nbsp;contained&nbsp;this&nbsp;class,&nbsp;while&nbsp;it&nbsp;is&nbsp;probably&nbsp;not&nbsp;available&nbsp;in&nbsp;3.1.299.&nbsp;  
&nbsp;&nbsp;  
&nbsp;&nbsp;  
&nbsp;Any&nbsp;more&nbsp;questions&nbsp;just&nbsp;feel&nbsp;free&nbsp;to&nbsp;let&nbsp;me&nbsp;know.&nbsp;  
&nbsp;&nbsp;  
&nbsp;Thanks.&nbsp;  
&nbsp;&nbsp;  
&nbsp;Yale&nbsp;

---

<div class="post-metadata">

**Author:** ![Alexander](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/a/bc8723/32.png) [@Alexander](https://community.thinkgeo.com/u/Alexander)\
**Post date:** [June 10, 2010, 5:45am UTC](https://community.thinkgeo.com/t/how-to-print-a-wpfmap/1272/5 "2010-06-10T05:45:22Z")

</div>

Hello&nbsp;Yale,

when&nbsp;using&nbsp;your&nbsp;sample,&nbsp;the&nbsp;PrintDialog&nbsp;doesn't&nbsp;show&nbsp;up.&nbsp;I&nbsp;think&nbsp;it's&nbsp;because&nbsp;you're&nbsp;using&nbsp;System.Windows.Forms.PrintDialog&nbsp;instead&nbsp;of&nbsp;System.Windows.Controls.PrintDialog.&nbsp;

But&nbsp;the&nbsp;usage&nbsp;of&nbsp;the&nbsp;Controls.PrintDialog&nbsp;is&nbsp;a&nbsp;bit&nbsp;different,&nbsp;you&nbsp;only&nbsp;have&nbsp;to&nbsp;implement&nbsp;this&nbsp;lines.  
  
&nbsp;

` if (dialog.ShowDialog() == true){	printerGeoCanvas.EndDrawing();}`&nbsp;&nbsp;&nbsp;

Another&nbsp;problem&nbsp;I&nbsp;encountered&nbsp;is,&nbsp;how&nbsp;do&nbsp;I&nbsp;manage&nbsp;to&nbsp;get&nbsp;the&nbsp;WpfMap&nbsp;as&nbsp;a&nbsp;Bitmap?&nbsp;The&nbsp;WinFormsMap&nbsp;got&nbsp;the&nbsp;Method&nbsp;DrawToBitMap(),&nbsp;why&nbsp;doesn't&nbsp;have&nbsp;the&nbsp;WpfMap&nbsp;such&nbsp;a&nbsp;Method?

---

<div class="post-metadata">

**Author:** ![ThinkGeo](https://community.thinkgeo.com/user_avatar/community.thinkgeo.com/thinkgeo/32/25029_2.png) [@ThinkGeo](https://community.thinkgeo.com/u/ThinkGeo)\
**Post date:** [June 10, 2010, 7:41pm UTC](https://community.thinkgeo.com/t/how-to-print-a-wpfmap/1272/6 "2010-06-10T19:41:00Z")

</div>

Alexander,

Thanks&nbsp;for&nbsp;your&nbsp;sharing&nbsp;and&nbsp;questions.  
&nbsp;  
Following&nbsp;code&nbsp;is&nbsp;the&nbsp;way&nbsp;to&nbsp;save&nbsp;the&nbsp;WPF&nbsp;map&nbsp;control&nbsp;map&nbsp;view&nbsp;into&nbsp;a&nbsp;bitmap&nbsp;as&nbsp;DrawToBitmap&nbsp;in&nbsp;Winforms&nbsp;version&nbsp;do.  
&nbsp;  
  
&nbsp;div\>  
`if (wpfMap1.Overlays.Count > 0){    SaveImageOfControl(wpfMap1, @"C:\temp\wpfControl.png");} private static PngBitmapEncoder getImageFromControl(Canvas controlToConvert){     // save current canvas transform     Transform transform = controlToConvert.LayoutTransform;      // get size of control     System.Windows.Size sizeOfControl = new System.Windows.Size(controlToConvert.ActualWidth, controlToConvert.ActualHeight);     // measure and arrange the control     controlToConvert.Measure(sizeOfControl);     // arrange the surface     controlToConvert.Arrange(new Rect(sizeOfControl));      // craete and render surface and push bitmap to it     RenderTargetBitmap renderBitmap = new RenderTargetBitmap((int)sizeOfControl.Width, (int)sizeOfControl.Height, 96d, 96d, PixelFormats.Pbgra32);     // now render surface to bitmap     renderBitmap.Render(controlToConvert);      // encode png data     PngBitmapEncoder pngEncoder = new PngBitmapEncoder();     // puch rendered bitmap into it     pngEncoder.Frames.Add(BitmapFrame.Create(renderBitmap));      // return encoder     return pngEncoder;}  public static ImageSource GetImageOfControl(Canvas controlToConvert){     // return first frame of image      return getImageFromControl(controlToConvert).Frames[0];}  public static bool SaveImageOfControl(Canvas controlToConvert, string fileName){     try     {         // create a file stream for saving image         using (System.IO.FileStream outStream = new System.IO.FileStream(fileName, System.IO.FileMode.Create))         {             // save encoded data to stream             getImageFromControl(controlToConvert).Save(outStream);         }      }      catch (Exception e)      {         // display for debugging         Console.WriteLine("Exception caught saving stream: {0}", e.Message);         // return fail         return false;      }      // return that passed      return true; }`  
&nbsp;  
Any&nbsp;more&nbsp;questions&nbsp;just&nbsp;feel&nbsp;free&nbsp;to&nbsp;let&nbsp;me&nbsp;know.  
&nbsp;  
Thanks.  
&nbsp;  
Yale

---

<div class="post-metadata">

**Author:** ![Jake](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/j/f475e1/32.png) [@Jake](https://community.thinkgeo.com/u/Jake)\
**Post date:** [August 31, 2010, 9:06am UTC](https://community.thinkgeo.com/t/how-to-print-a-wpfmap/1272/7 "2010-08-31T09:06:54Z")

</div>

What&nbsp;references&nbsp;are&nbsp;required&nbsp;for&nbsp;this&nbsp;to&nbsp;work?&nbsp;&nbsp;I&nbsp;am&nbsp;not&nbsp;able&nbsp;to&nbsp;pass&nbsp;in&nbsp;the&nbsp;map&nbsp;as&nbsp;a&nbsp;Canvas&nbsp;control&nbsp;like&nbsp;you&nbsp;are&nbsp;above.&nbsp;&nbsp;Is&nbsp;there&nbsp;a&nbsp;typecast&nbsp;or&nbsp;a&nbsp;child&nbsp;property&nbsp;I&nbsp;need&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;canvas?

Another&nbsp;question&nbsp;of&nbsp;mine,&nbsp;is&nbsp;it&nbsp;possible&nbsp;to&nbsp;print&nbsp;an&nbsp;area&nbsp;larger&nbsp;than&nbsp;the&nbsp;display&nbsp;screen?&nbsp;&nbsp;If&nbsp;I&nbsp;have&nbsp;a&nbsp;1600x1200&nbsp;monitor&nbsp;filled&nbsp;with&nbsp;the&nbsp;map&nbsp;at&nbsp;zoom&nbsp;level&nbsp;19,&nbsp;can&nbsp;I&nbsp;print&nbsp;that&nbsp;area&nbsp;at&nbsp;zoom&nbsp;level&nbsp;20?&nbsp;&nbsp;So&nbsp;the&nbsp;print&nbsp;area&nbsp;would&nbsp;be&nbsp;4x&nbsp;the&nbsp;screen&nbsp;size.&nbsp;&nbsp;Basically&nbsp;can&nbsp;I&nbsp;print&nbsp;an&nbsp;area&nbsp;by&nbsp;sending&nbsp;a&nbsp;bounding&nbsp;box&nbsp;and&nbsp;a&nbsp;zoom&nbsp;level?&nbsp;&nbsp;I&nbsp;would&nbsp;also&nbsp;want&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;scale&nbsp;that&nbsp;image&nbsp;to&nbsp;fit&nbsp;on&nbsp;1&nbsp;piece&nbsp;of&nbsp;paper&nbsp;if&nbsp;the&nbsp;user&nbsp;wants&nbsp;it&nbsp;printed&nbsp;that&nbsp;way.

---

<div class="post-metadata">

**Author:** ![ThinkGeo](https://community.thinkgeo.com/user_avatar/community.thinkgeo.com/thinkgeo/32/25029_2.png) [@ThinkGeo](https://community.thinkgeo.com/u/ThinkGeo)\
**Post date:** [August 31, 2010, 2:00pm UTC](https://community.thinkgeo.com/t/how-to-print-a-wpfmap/1272/8 "2010-08-31T14:00:15Z")

</div>

Jake,&nbsp;  
&nbsp;&nbsp;  
&nbsp;Our&nbsp;WpfMap&nbsp;control&nbsp;is&nbsp;derived&nbsp;from&nbsp;Canvas,&nbsp;I&nbsp;think&nbsp;your&nbsp;probably&nbsp;use&nbsp;WinformaMap&nbsp;control&nbsp;so&nbsp;that&nbsp;you&nbsp;are&nbsp;not&nbsp;able&nbsp;to&nbsp;pass&nbsp;in&nbsp;it&nbsp;to&nbsp;the&nbsp;method&nbsp;made&nbsp;by&nbsp;Yale.&nbsp;The&nbsp;second&nbsp;one&nbsp;I&nbsp;think&nbsp;you&nbsp;only&nbsp;can&nbsp;do&nbsp;it&nbsp;for&nbsp;current&nbsp;display&nbsp;screen,&nbsp;if&nbsp;you&nbsp;want&nbsp;to&nbsp;print&nbsp;another&nbsp;zoomlevel,&nbsp;you&nbsp;can&nbsp;first&nbsp;draw&nbsp;that&nbsp;size&nbsp;map&nbsp;to&nbsp;a&nbsp;image&nbsp;and&nbsp;then&nbsp;print&nbsp;the&nbsp;image.&nbsp;  
&nbsp;&nbsp;  
&nbsp;Please&nbsp;let&nbsp;me&nbsp;know&nbsp;if&nbsp;you&nbsp;have&nbsp;more&nbsp;questions.&nbsp;  
&nbsp;James

---

<div class="post-metadata">

**Author:** ![Jake](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/j/f475e1/32.png) [@Jake](https://community.thinkgeo.com/u/Jake)\
**Post date:** [August 31, 2010, 3:30pm UTC](https://community.thinkgeo.com/t/how-to-print-a-wpfmap/1272/9 "2010-08-31T15:30:17Z")

</div>

Thanks&nbsp;James,&nbsp;&nbsp;  
&nbsp;&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Not&nbsp;sure&nbsp;if&nbsp;I&nbsp;am&nbsp;not&nbsp;using&nbsp;an&nbsp;updated&nbsp;version,&nbsp;but&nbsp;the&nbsp;wpfmap&nbsp;element&nbsp;does&nbsp;not&nbsp;work&nbsp;as&nbsp;a&nbsp;canvas&nbsp;for&nbsp;me.&nbsp;&nbsp;I&nbsp;updated&nbsp;the&nbsp;functions&nbsp;to&nbsp;use&nbsp;UIElement&nbsp;and&nbsp;everything&nbsp;works&nbsp;fine.&nbsp;  
&nbsp;&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I&nbsp;don’t&nbsp;mind&nbsp;redrawing&nbsp;the&nbsp;image&nbsp;to&nbsp;print&nbsp;with,&nbsp;but&nbsp;what&nbsp;I&nbsp;need&nbsp;is&nbsp;to&nbsp;create&nbsp;an&nbsp;area&nbsp;larger&nbsp;than&nbsp;the&nbsp;current&nbsp;screen.&nbsp;&nbsp;What&nbsp;I&nbsp;would&nbsp;like&nbsp;to&nbsp;do&nbsp;is&nbsp;when&nbsp;a&nbsp;user&nbsp;creates&nbsp;a&nbsp;bounding&nbsp;box&nbsp;around&nbsp;the&nbsp;area&nbsp;they&nbsp;want&nbsp;to&nbsp;print,&nbsp;to&nbsp;force&nbsp;a&nbsp;zoom&nbsp;to&nbsp;level&nbsp;18,&nbsp;19&nbsp;or&nbsp;20.&nbsp;&nbsp;Then&nbsp;find&nbsp;the&nbsp;dimensions&nbsp;the&nbsp;map&nbsp;would&nbsp;need&nbsp;to&nbsp;be&nbsp;in&nbsp;order&nbsp;to&nbsp;fit&nbsp;that.&nbsp;&nbsp;So&nbsp;if&nbsp;they&nbsp;select&nbsp;40&nbsp;square&nbsp;miles,&nbsp;is&nbsp;there&nbsp;a&nbsp;way&nbsp;I&nbsp;can&nbsp;find&nbsp;out&nbsp;how&nbsp;large&nbsp;the&nbsp;drawing&nbsp;area&nbsp;would&nbsp;need&nbsp;to&nbsp;be&nbsp;in&nbsp;order&nbsp;to&nbsp;fit&nbsp;that&nbsp;at&nbsp;a&nbsp;certain&nbsp;zoom&nbsp;level?

---

<div class="post-metadata">

**Author:** ![ThinkGeo](https://community.thinkgeo.com/user_avatar/community.thinkgeo.com/thinkgeo/32/25029_2.png) [@ThinkGeo](https://community.thinkgeo.com/u/ThinkGeo)\
**Post date:** [September 1, 2010, 10:48am UTC](https://community.thinkgeo.com/t/how-to-print-a-wpfmap/1272/10 "2010-09-01T10:48:14Z")

</div>

Jake,&nbsp;  
&nbsp;&nbsp;  
&nbsp;I&nbsp;will&nbsp;try&nbsp;different&nbsp;machines&nbsp;with&nbsp;different&nbsp;OS&nbsp;to&nbsp;test&nbsp;if&nbsp;it&nbsp;works&nbsp;or&nbsp;not&nbsp;as&nbsp;a&nbsp;canvas.&nbsp;  
&nbsp;&nbsp;  
&nbsp;Use&nbsp;layer&nbsp;to&nbsp;draw&nbsp;can&nbsp;render&nbsp;any&nbsp;size&nbsp;of&nbsp;image,&nbsp;and&nbsp;ExtentHelper&nbsp;contains&nbsp;many&nbsp;static&nbsp;method&nbsp;to&nbsp;convert&nbsp;coordinate,&nbsp;such&nbsp;as&nbsp;&nbsp;GetWorldDistanceBetweenTwoScreenPoints,&nbsp;ToWorldCoordinate&nbsp;etc&nbsp;I&nbsp;think&nbsp;you&nbsp;can&nbsp;use&nbsp;them&nbsp;to&nbsp;calculate&nbsp;drawing&nbsp;area.&nbsp;  
&nbsp;&nbsp;  
&nbsp;Thanks&nbsp;  
&nbsp;James

---

<div class="post-metadata">

**Author:** ![Jake](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/j/f475e1/32.png) [@Jake](https://community.thinkgeo.com/u/Jake)\
**Post date:** [September 1, 2010, 2:26pm UTC](https://community.thinkgeo.com/t/how-to-print-a-wpfmap/1272/11 "2010-09-01T14:26:40Z")

</div>

Thanks,&nbsp;I&nbsp;am&nbsp;getting&nbsp;closer&nbsp;with&nbsp;those&nbsp;functions.&nbsp;&nbsp;I&nbsp;can&nbsp;find&nbsp;the&nbsp;height&nbsp;and&nbsp;width&nbsp;I&nbsp;would&nbsp;need&nbsp;the&nbsp;control&nbsp;to&nbsp;be&nbsp;to&nbsp;display&nbsp;at&nbsp;my&nbsp;desired&nbsp;level&nbsp;and&nbsp;can&nbsp;set&nbsp;the&nbsp;map&nbsp;control&nbsp;height&nbsp;and&nbsp;width&nbsp;to&nbsp;those&nbsp;dimensions.&nbsp;&nbsp;I&nbsp;do&nbsp;some&nbsp;checks&nbsp;to&nbsp;make&nbsp;sure&nbsp;it&nbsp;doesn’t&nbsp;hit&nbsp;a&nbsp;max&nbsp;screen&nbsp;size&nbsp;of&nbsp;roughly&nbsp;4&nbsp;times&nbsp;the&nbsp;standard&nbsp;window&nbsp;dimensions&nbsp;so&nbsp;we&nbsp;don’t&nbsp;get&nbsp;an&nbsp;out&nbsp;of&nbsp;memory&nbsp;error.&nbsp;&nbsp;The&nbsp;numbers&nbsp;appear&nbsp;good&nbsp;in&nbsp;the&nbsp;debug&nbsp;window,&nbsp;but&nbsp;when&nbsp;I&nbsp;try&nbsp;to&nbsp;print&nbsp;all&nbsp;I&nbsp;get&nbsp;is&nbsp;a&nbsp;blank&nbsp;window.&nbsp;&nbsp;I&nbsp;have&nbsp;no&nbsp;layers&nbsp;drawn,&nbsp;and&nbsp;no&nbsp;features&nbsp;displayed.&nbsp;&nbsp;Do&nbsp;I&nbsp;have&nbsp;to&nbsp;do&nbsp;something&nbsp;to&nbsp;force&nbsp;the&nbsp;overlays&nbsp;to&nbsp;be&nbsp;drawn?&nbsp;&nbsp;I&nbsp;do&nbsp;refresh&nbsp;my&nbsp;map&nbsp;after&nbsp;the&nbsp;extents&nbsp;change&nbsp;and&nbsp;the&nbsp;map&nbsp;height/width&nbsp;change.&nbsp;  
&nbsp;&nbsp;  
&nbsp;If&nbsp;I&nbsp;find&nbsp;my&nbsp;issue&nbsp;I&nbsp;will&nbsp;let&nbsp;you&nbsp;know.

---

<div class="post-metadata">

**Author:** ![ThinkGeo](https://community.thinkgeo.com/user_avatar/community.thinkgeo.com/thinkgeo/32/25029_2.png) [@ThinkGeo](https://community.thinkgeo.com/u/ThinkGeo)\
**Post date:** [September 2, 2010, 9:11am UTC](https://community.thinkgeo.com/t/how-to-print-a-wpfmap/1272/12 "2010-09-02T09:11:45Z")

</div>

Jake,

I&nbsp;am&nbsp;glad&nbsp;that&nbsp;you&nbsp;are&nbsp;getting&nbsp;closer.

I&nbsp;just&nbsp;not&nbsp;sure&nbsp;what&nbsp;you&nbsp;mean&nbsp;for&nbsp;"&nbsp;I&nbsp;have&nbsp;no&nbsp;layers&nbsp;drawn,&nbsp;and&nbsp;no&nbsp;features&nbsp;displayed.",&nbsp;usually&nbsp;when&nbsp;extents&nbsp;changed&nbsp;or&nbsp;map&nbsp;size&nbsp;changed,&nbsp;the&nbsp;map&nbsp;control&nbsp;will&nbsp;automatically&nbsp;refresh&nbsp;by&nbsp;itself.&nbsp;If&nbsp;you&nbsp;can&nbsp;provide&nbsp;a&nbsp;sample,&nbsp;I&nbsp;think&nbsp;I&nbsp;will&nbsp;easily&nbsp;to&nbsp;reproduce&nbsp;your&nbsp;problem&nbsp;and&nbsp;give&nbsp;you&nbsp;some&nbsp;solutions&nbsp;to&nbsp;solve&nbsp;it.

Thanks

James
