<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Using Topaz Signature Pads to Capture Signatures for InfoPath 2007 Forms</title>
	<atom:link href="http://blog.sharepointrx.com/2009/09/11/using-topaz-signature-pads-to-capture-signatures-for-infopath-2007-forms/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sharepointrx.com/2009/09/11/using-topaz-signature-pads-to-capture-signatures-for-infopath-2007-forms/</link>
	<description>Are you a user?</description>
	<lastBuildDate>Wed, 02 Nov 2011 12:37:29 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Hallow Demon Friendz &#124; Blog &#124; Integrating TOPAZ signature pad with InfoPath 2007 froms</title>
		<link>http://blog.sharepointrx.com/2009/09/11/using-topaz-signature-pads-to-capture-signatures-for-infopath-2007-forms/#comment-36</link>
		<dc:creator><![CDATA[Hallow Demon Friendz &#124; Blog &#124; Integrating TOPAZ signature pad with InfoPath 2007 froms]]></dc:creator>
		<pubDate>Thu, 27 May 2010 07:56:36 +0000</pubDate>
		<guid isPermaLink="false">http://sharepointruss.wordpress.com/2009/09/11/using-topaz-signature-pads-to-capture-signatures-for-infopath-2007-forms/#comment-36</guid>
		<description><![CDATA[[...] You can read the full tutorial from HERE [...]]]></description>
		<content:encoded><![CDATA[<p>[...] You can read the full tutorial from HERE [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Julie Ziriax</title>
		<link>http://blog.sharepointrx.com/2009/09/11/using-topaz-signature-pads-to-capture-signatures-for-infopath-2007-forms/#comment-34</link>
		<dc:creator><![CDATA[Julie Ziriax]]></dc:creator>
		<pubDate>Tue, 04 May 2010 15:44:47 +0000</pubDate>
		<guid isPermaLink="false">http://sharepointruss.wordpress.com/2009/09/11/using-topaz-signature-pads-to-capture-signatures-for-infopath-2007-forms/#comment-34</guid>
		<description><![CDATA[The code below works beautifully for us.


using Microsoft.Office.InfoPath;
using System;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using System.Xml;
using System.Xml.XPath;
using mshtml;

namespace Sign2
{
    public partial class FormCode
    {
        Topaz.SigPlusNET SigPlusNET1;

        // NOTE: The following procedure is required by Microsoft Office InfoPath.
        // It can be modified using Microsoft Office InfoPath.
        public void InternalStartup()
        {
            ((ButtonEvent)EventManager.ControlEvents[&quot;CTRL1_5&quot;]).Clicked += new ClickedEventHandler(CTRL1_5_Clicked);
            ((ButtonEvent)EventManager.ControlEvents[&quot;CTRL2_5&quot;]).Clicked += new ClickedEventHandler(CTRL2_5_Clicked);
            ((ButtonEvent)EventManager.ControlEvents[&quot;CTRL3_5&quot;]).Clicked += new ClickedEventHandler(CTRL3_5_Clicked);
            ((ButtonEvent)EventManager.ControlEvents[&quot;CTRL7_5&quot;]).Clicked += new ClickedEventHandler(CTRL7_5_Clicked);
            ((ButtonEvent)EventManager.ControlEvents[&quot;CTRL8_5&quot;]).Clicked += new ClickedEventHandler(CTRL8_5_Clicked);
            ((ButtonEvent)EventManager.ControlEvents[&quot;CTRL9_5&quot;]).Clicked += new ClickedEventHandler(CTRL9_5_Clicked);
        }

        // NOTE: The following procedure is required by Microsoft Office InfoPath.
        // It can be modified using Microsoft Office InfoPath.
      
      
        public void CTRL1_5_Clicked(object sender, ClickedEventArgs e)
        {
            // Initiate the signature pad
            SigPlusNET1 = new Topaz.SigPlusNET();

            SigPlusNET1.SetTabletState(1);
        }

        public void CTRL2_5_Clicked(object sender, ClickedEventArgs e)
        {
            if (SigPlusNET1.NumberOfTabletPoints() &gt; 0)
            {

                Image myimage = null;

                SigPlusNET1.SetImageXSize(250);
                SigPlusNET1.SetImageYSize(100);
                SigPlusNET1.SetJustifyMode(5);
                SigPlusNET1.SetImagePenWidth(7);

                SigPlusNET1.SetImageFileFormat(0);
                if (SigPlusNET1.NumberOfTabletPoints() &gt; 0)
                {
                    myimage = SigPlusNET1.GetSigImage();
                }
                else
                {
                    MessageBox.Show(&quot;Please sign the signature pad and try again&quot;);
                    return;
                }

                /// set the form picture field to the image read from the SigPad
                // get access to the picture attachment field 
                XPathNavigator MyPic = this.CreateNavigator().SelectSingleNode(&quot;/my:myFields/my:Signature&quot;, NamespaceManager);
                DeleteNil(MyPic);

                // this is where the real work is done.  Simply take the bytes from the signature image and convert them to base64.
                MyPic.SetValue(Convert.ToBase64String(imageToByteArray(myimage)));

                /// cleanup
                // dispose of the field
                MyPic = null;
            }
            else
            {
                MessageBox.Show(&quot;No signature captured!&quot;);
            }
        }

        public void CTRL3_5_Clicked(object sender, ClickedEventArgs e)
        {
            SigPlusNET1.ClearTablet();

            // get access to the picture attachment field 
            XPathNavigator MyPic = this.CreateNavigator().SelectSingleNode(&quot;/my:myFields/my:Signature&quot;, NamespaceManager);
            DeleteNil(MyPic);

            // Clear the signature
            MyPic.SetValue(&quot;&quot;);
        }
        public void CTRL7_5_Clicked(object sender, ClickedEventArgs e)
        {
            // Initiate the signature pad
            SigPlusNET1 = new Topaz.SigPlusNET();

            SigPlusNET1.SetTabletState(1);
        }

        public void CTRL8_5_Clicked(object sender, ClickedEventArgs e)
        {
            if (SigPlusNET1.NumberOfTabletPoints() &gt; 0)
            {

                Image myimage = null;

                SigPlusNET1.SetImageXSize(250);
                SigPlusNET1.SetImageYSize(100);
                SigPlusNET1.SetJustifyMode(5);
                SigPlusNET1.SetImagePenWidth(7);

                SigPlusNET1.SetImageFileFormat(0);
                if (SigPlusNET1.NumberOfTabletPoints() &gt; 0)
                {
                    myimage = SigPlusNET1.GetSigImage();
                }
                else
                {
                    MessageBox.Show(&quot;Please sign the signature pad and try again&quot;);
                    return;
                }

                /// set the form picture field to the image read from the SigPad
                // get access to the picture attachment field 
                XPathNavigator MyPic = this.CreateNavigator().SelectSingleNode(&quot;/my:myFields/my:Signature2&quot;, NamespaceManager);
                DeleteNil(MyPic);

                // this is where the real work is done.  Simply take the bytes from the signature image and convert them to base64.
                MyPic.SetValue(Convert.ToBase64String(imageToByteArray(myimage)));

                /// cleanup
                // dispose of the field
                MyPic = null;
            }
            else
            {
                MessageBox.Show(&quot;No signature captured!&quot;);
            }
        }

        public void CTRL9_5_Clicked(object sender, ClickedEventArgs e)
        {
            SigPlusNET1.ClearTablet();

            // get access to the picture attachment field 
            XPathNavigator MyPic = this.CreateNavigator().SelectSingleNode(&quot;/my:myFields/my:Signature2&quot;, NamespaceManager);
            DeleteNil(MyPic);

            // Clear the signature
            MyPic.SetValue(&quot;&quot;);
        }

        public void DeleteNil(XPathNavigator node)
        {
            if (node.MoveToAttribute(&quot;nil&quot;, &quot;http://www.w3.org/2001/XMLSchema-instance&quot;))
                node.DeleteSelf();
        }

        public byte[] imageToByteArray(System.Drawing.Image imageIn)
        {
            MemoryStream ms = new MemoryStream();
            try
            {
                imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            }
            catch
            {
                MessageBox.Show(&quot;Conversion of image failed&quot;);
            }
            return ms.ToArray();
        }
    }
}]]></description>
		<content:encoded><![CDATA[<p>The code below works beautifully for us.</p>
<p>using Microsoft.Office.InfoPath;<br />
using System;<br />
using System.Drawing;<br />
using System.IO;<br />
using System.Windows.Forms;<br />
using System.Xml;<br />
using System.Xml.XPath;<br />
using mshtml;</p>
<p>namespace Sign2<br />
{<br />
    public partial class FormCode<br />
    {<br />
        Topaz.SigPlusNET SigPlusNET1;</p>
<p>        // NOTE: The following procedure is required by Microsoft Office InfoPath.<br />
        // It can be modified using Microsoft Office InfoPath.<br />
        public void InternalStartup()<br />
        {<br />
            ((ButtonEvent)EventManager.ControlEvents["CTRL1_5"]).Clicked += new ClickedEventHandler(CTRL1_5_Clicked);<br />
            ((ButtonEvent)EventManager.ControlEvents["CTRL2_5"]).Clicked += new ClickedEventHandler(CTRL2_5_Clicked);<br />
            ((ButtonEvent)EventManager.ControlEvents["CTRL3_5"]).Clicked += new ClickedEventHandler(CTRL3_5_Clicked);<br />
            ((ButtonEvent)EventManager.ControlEvents["CTRL7_5"]).Clicked += new ClickedEventHandler(CTRL7_5_Clicked);<br />
            ((ButtonEvent)EventManager.ControlEvents["CTRL8_5"]).Clicked += new ClickedEventHandler(CTRL8_5_Clicked);<br />
            ((ButtonEvent)EventManager.ControlEvents["CTRL9_5"]).Clicked += new ClickedEventHandler(CTRL9_5_Clicked);<br />
        }</p>
<p>        // NOTE: The following procedure is required by Microsoft Office InfoPath.<br />
        // It can be modified using Microsoft Office InfoPath.</p>
<p>        public void CTRL1_5_Clicked(object sender, ClickedEventArgs e)<br />
        {<br />
            // Initiate the signature pad<br />
            SigPlusNET1 = new Topaz.SigPlusNET();</p>
<p>            SigPlusNET1.SetTabletState(1);<br />
        }</p>
<p>        public void CTRL2_5_Clicked(object sender, ClickedEventArgs e)<br />
        {<br />
            if (SigPlusNET1.NumberOfTabletPoints() &gt; 0)<br />
            {</p>
<p>                Image myimage = null;</p>
<p>                SigPlusNET1.SetImageXSize(250);<br />
                SigPlusNET1.SetImageYSize(100);<br />
                SigPlusNET1.SetJustifyMode(5);<br />
                SigPlusNET1.SetImagePenWidth(7);</p>
<p>                SigPlusNET1.SetImageFileFormat(0);<br />
                if (SigPlusNET1.NumberOfTabletPoints() &gt; 0)<br />
                {<br />
                    myimage = SigPlusNET1.GetSigImage();<br />
                }<br />
                else<br />
                {<br />
                    MessageBox.Show(&#8220;Please sign the signature pad and try again&#8221;);<br />
                    return;<br />
                }</p>
<p>                /// set the form picture field to the image read from the SigPad<br />
                // get access to the picture attachment field<br />
                XPathNavigator MyPic = this.CreateNavigator().SelectSingleNode(&#8220;/my:myFields/my:Signature&#8221;, NamespaceManager);<br />
                DeleteNil(MyPic);</p>
<p>                // this is where the real work is done.  Simply take the bytes from the signature image and convert them to base64.<br />
                MyPic.SetValue(Convert.ToBase64String(imageToByteArray(myimage)));</p>
<p>                /// cleanup<br />
                // dispose of the field<br />
                MyPic = null;<br />
            }<br />
            else<br />
            {<br />
                MessageBox.Show(&#8220;No signature captured!&#8221;);<br />
            }<br />
        }</p>
<p>        public void CTRL3_5_Clicked(object sender, ClickedEventArgs e)<br />
        {<br />
            SigPlusNET1.ClearTablet();</p>
<p>            // get access to the picture attachment field<br />
            XPathNavigator MyPic = this.CreateNavigator().SelectSingleNode(&#8220;/my:myFields/my:Signature&#8221;, NamespaceManager);<br />
            DeleteNil(MyPic);</p>
<p>            // Clear the signature<br />
            MyPic.SetValue(&#8220;&#8221;);<br />
        }<br />
        public void CTRL7_5_Clicked(object sender, ClickedEventArgs e)<br />
        {<br />
            // Initiate the signature pad<br />
            SigPlusNET1 = new Topaz.SigPlusNET();</p>
<p>            SigPlusNET1.SetTabletState(1);<br />
        }</p>
<p>        public void CTRL8_5_Clicked(object sender, ClickedEventArgs e)<br />
        {<br />
            if (SigPlusNET1.NumberOfTabletPoints() &gt; 0)<br />
            {</p>
<p>                Image myimage = null;</p>
<p>                SigPlusNET1.SetImageXSize(250);<br />
                SigPlusNET1.SetImageYSize(100);<br />
                SigPlusNET1.SetJustifyMode(5);<br />
                SigPlusNET1.SetImagePenWidth(7);</p>
<p>                SigPlusNET1.SetImageFileFormat(0);<br />
                if (SigPlusNET1.NumberOfTabletPoints() &gt; 0)<br />
                {<br />
                    myimage = SigPlusNET1.GetSigImage();<br />
                }<br />
                else<br />
                {<br />
                    MessageBox.Show(&#8220;Please sign the signature pad and try again&#8221;);<br />
                    return;<br />
                }</p>
<p>                /// set the form picture field to the image read from the SigPad<br />
                // get access to the picture attachment field<br />
                XPathNavigator MyPic = this.CreateNavigator().SelectSingleNode(&#8220;/my:myFields/my:Signature2&#8243;, NamespaceManager);<br />
                DeleteNil(MyPic);</p>
<p>                // this is where the real work is done.  Simply take the bytes from the signature image and convert them to base64.<br />
                MyPic.SetValue(Convert.ToBase64String(imageToByteArray(myimage)));</p>
<p>                /// cleanup<br />
                // dispose of the field<br />
                MyPic = null;<br />
            }<br />
            else<br />
            {<br />
                MessageBox.Show(&#8220;No signature captured!&#8221;);<br />
            }<br />
        }</p>
<p>        public void CTRL9_5_Clicked(object sender, ClickedEventArgs e)<br />
        {<br />
            SigPlusNET1.ClearTablet();</p>
<p>            // get access to the picture attachment field<br />
            XPathNavigator MyPic = this.CreateNavigator().SelectSingleNode(&#8220;/my:myFields/my:Signature2&#8243;, NamespaceManager);<br />
            DeleteNil(MyPic);</p>
<p>            // Clear the signature<br />
            MyPic.SetValue(&#8220;&#8221;);<br />
        }</p>
<p>        public void DeleteNil(XPathNavigator node)<br />
        {<br />
            if (node.MoveToAttribute(&#8220;nil&#8221;, &#8220;http://www.w3.org/2001/XMLSchema-instance&#8221;))<br />
                node.DeleteSelf();<br />
        }</p>
<p>        public byte[] imageToByteArray(System.Drawing.Image imageIn)<br />
        {<br />
            MemoryStream ms = new MemoryStream();<br />
            try<br />
            {<br />
                imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);<br />
            }<br />
            catch<br />
            {<br />
                MessageBox.Show(&#8220;Conversion of image failed&#8221;);<br />
            }<br />
            return ms.ToArray();<br />
        }<br />
    }<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick</title>
		<link>http://blog.sharepointrx.com/2009/09/11/using-topaz-signature-pads-to-capture-signatures-for-infopath-2007-forms/#comment-30</link>
		<dc:creator><![CDATA[Nick]]></dc:creator>
		<pubDate>Thu, 22 Apr 2010 14:26:14 +0000</pubDate>
		<guid isPermaLink="false">http://sharepointruss.wordpress.com/2009/09/11/using-topaz-signature-pads-to-capture-signatures-for-infopath-2007-forms/#comment-30</guid>
		<description><![CDATA[I was also receiving the same error message as Julie Ziriax and replaced SetSignatureImage with what you provided, but it is still giving me errors while building.

No overload for method &#039;SetSignatureImage&#039; takes &#039;1&#039; arguments (occurs twice)
The name &#039;GetNavigator&#039; does not exist in the current context
The name &#039;baseSignatureImage&#039; does not exist in the current context
The name &#039;UnexpectedError&#039; does not exist in the current context

After trying on my own for a while, the best I could do was still having DeleteNil create the same error message as before.

Any help would be much appreciated]]></description>
		<content:encoded><![CDATA[<p>I was also receiving the same error message as Julie Ziriax and replaced SetSignatureImage with what you provided, but it is still giving me errors while building.</p>
<p>No overload for method &#8216;SetSignatureImage&#8217; takes &#8217;1&#8242; arguments (occurs twice)<br />
The name &#8216;GetNavigator&#8217; does not exist in the current context<br />
The name &#8216;baseSignatureImage&#8217; does not exist in the current context<br />
The name &#8216;UnexpectedError&#8217; does not exist in the current context</p>
<p>After trying on my own for a while, the best I could do was still having DeleteNil create the same error message as before.</p>
<p>Any help would be much appreciated</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Russell Wright</title>
		<link>http://blog.sharepointrx.com/2009/09/11/using-topaz-signature-pads-to-capture-signatures-for-infopath-2007-forms/#comment-23</link>
		<dc:creator><![CDATA[Russell Wright]]></dc:creator>
		<pubDate>Tue, 02 Mar 2010 04:39:15 +0000</pubDate>
		<guid isPermaLink="false">http://sharepointruss.wordpress.com/2009/09/11/using-topaz-signature-pads-to-capture-signatures-for-infopath-2007-forms/#comment-23</guid>
		<description><![CDATA[Of course, one of the things that happens when you post code that is not fully debugged is that you get, well, uh...bugs.  Try something like this in SetSignatureImage.     

 internal void SetSignatureImage(string base64Image, ClickedEventArgs e)
        {

            try
            {
                XPathNavigator imageField = GetNavigator(baseSignatureImage, e);
                DeleteNil(imageField);  //remove xsi:nil attribute
                imageField.SetValue(base64Image);
            }
            catch
            {
                UnexpectedError();
            }

        }]]></description>
		<content:encoded><![CDATA[<p>Of course, one of the things that happens when you post code that is not fully debugged is that you get, well, uh&#8230;bugs.  Try something like this in SetSignatureImage.     </p>
<p> internal void SetSignatureImage(string base64Image, ClickedEventArgs e)<br />
        {</p>
<p>            try<br />
            {<br />
                XPathNavigator imageField = GetNavigator(baseSignatureImage, e);<br />
                DeleteNil(imageField);  //remove xsi:nil attribute<br />
                imageField.SetValue(base64Image);<br />
            }<br />
            catch<br />
            {<br />
                UnexpectedError();<br />
            }</p>
<p>        }</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Julie Ziriax</title>
		<link>http://blog.sharepointrx.com/2009/09/11/using-topaz-signature-pads-to-capture-signatures-for-infopath-2007-forms/#comment-22</link>
		<dc:creator><![CDATA[Julie Ziriax]]></dc:creator>
		<pubDate>Mon, 01 Mar 2010 15:20:57 +0000</pubDate>
		<guid isPermaLink="false">http://sharepointruss.wordpress.com/2009/09/11/using-topaz-signature-pads-to-capture-signatures-for-infopath-2007-forms/#comment-22</guid>
		<description><![CDATA[I have followed the instructions for using a Topaz Signature Pad with InfoPath to the T and it isn&#039;t working.  I get the following errors:

An unhandled exception has occurred in the form&#039;s code.

System.NullReferenceException
Object reference not set to an instance of an object.
   at _0900_A_with_Signature.FormCode.DeleteNil(XPathNavigator node)
   at _0900_A_with_Signature.FormCode.SetSignatureImage(String base64Image)
   at _0900_A_with_Signature.FormCode.Button_Sign_Clicked(Object sender, ClickedEventArgs e)
   at Microsoft.Office.InfoPath.Internal.ButtonEventHost.OnButtonClick(DocActionEvent pEvent)
   at Microsoft.Office.Interop.InfoPath.SemiTrust._ButtonEventSink_SinkHelper.OnClick(DocActionEvent pEvent)

Any ideas on what I am doing wrong?  any help would be greatly appreciated.]]></description>
		<content:encoded><![CDATA[<p>I have followed the instructions for using a Topaz Signature Pad with InfoPath to the T and it isn&#8217;t working.  I get the following errors:</p>
<p>An unhandled exception has occurred in the form&#8217;s code.</p>
<p>System.NullReferenceException<br />
Object reference not set to an instance of an object.<br />
   at _0900_A_with_Signature.FormCode.DeleteNil(XPathNavigator node)<br />
   at _0900_A_with_Signature.FormCode.SetSignatureImage(String base64Image)<br />
   at _0900_A_with_Signature.FormCode.Button_Sign_Clicked(Object sender, ClickedEventArgs e)<br />
   at Microsoft.Office.InfoPath.Internal.ButtonEventHost.OnButtonClick(DocActionEvent pEvent)<br />
   at Microsoft.Office.Interop.InfoPath.SemiTrust._ButtonEventSink_SinkHelper.OnClick(DocActionEvent pEvent)</p>
<p>Any ideas on what I am doing wrong?  any help would be greatly appreciated.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shawn Bradley</title>
		<link>http://blog.sharepointrx.com/2009/09/11/using-topaz-signature-pads-to-capture-signatures-for-infopath-2007-forms/#comment-21</link>
		<dc:creator><![CDATA[Shawn Bradley]]></dc:creator>
		<pubDate>Thu, 25 Feb 2010 16:17:39 +0000</pubDate>
		<guid isPermaLink="false">http://sharepointruss.wordpress.com/2009/09/11/using-topaz-signature-pads-to-capture-signatures-for-infopath-2007-forms/#comment-21</guid>
		<description><![CDATA[I have done everything as stated on the blog, I am getting this error.  The link is a screen shot. I am awful when it comes to the C# stuff.  Thanks for your help.

http://www2.ectorcountyisd.org/screenshots/capture.png


Thanks,
Shawn]]></description>
		<content:encoded><![CDATA[<p>I have done everything as stated on the blog, I am getting this error.  The link is a screen shot. I am awful when it comes to the C# stuff.  Thanks for your help.</p>
<p><a href="http://www2.ectorcountyisd.org/screenshots/capture.png" rel="nofollow">http://www2.ectorcountyisd.org/screenshots/capture.png</a></p>
<p>Thanks,<br />
Shawn</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Capturing Multiple Signatures in an InfoPath 2007 Form Using a Topaz Signature Pad &#171;                    Are you a user?</title>
		<link>http://blog.sharepointrx.com/2009/09/11/using-topaz-signature-pads-to-capture-signatures-for-infopath-2007-forms/#comment-18</link>
		<dc:creator><![CDATA[Capturing Multiple Signatures in an InfoPath 2007 Form Using a Topaz Signature Pad &#171;                    Are you a user?]]></dc:creator>
		<pubDate>Fri, 05 Feb 2010 19:36:15 +0000</pubDate>
		<guid isPermaLink="false">http://sharepointruss.wordpress.com/2009/09/11/using-topaz-signature-pads-to-capture-signatures-for-infopath-2007-forms/#comment-18</guid>
		<description><![CDATA[[...] an InfoPath 2007 form and store it in the form XML as a base64 encoded image.  We blogged about it here.  Well, we’ve recently improved upon the process to easily allow multiple signatures to be added [...]]]></description>
		<content:encoded><![CDATA[<p>[...] an InfoPath 2007 form and store it in the form XML as a base64 encoded image.  We blogged about it here.  Well, we’ve recently improved upon the process to easily allow multiple signatures to be added [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

