<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Snowbound Software Imaging Technology Blog &#187; Imaging Technology</title>
	<atom:link href="http://blog.snowbound.com/category/imaging/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.snowbound.com</link>
	<description>Accelerating the Document Revolution</description>
	<lastBuildDate>Thu, 09 Sep 2010 14:50:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Too Busy for Training – Even if it’s free?</title>
		<link>http://blog.snowbound.com/287/too-busy-for-training-%e2%80%93-even-if-it%e2%80%99s-free/</link>
		<comments>http://blog.snowbound.com/287/too-busy-for-training-%e2%80%93-even-if-it%e2%80%99s-free/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 14:08:24 +0000</pubDate>
		<dc:creator>Simon Wieczner</dc:creator>
				<category><![CDATA[Imaging Technology]]></category>
		<category><![CDATA[President's Corner]]></category>

		<guid isPermaLink="false">http://blog.snowbound.com/?p=287</guid>
		<description><![CDATA[A common refrain from a lot of people in our industry is that they’re too busy to train or go to a class.  Some people will also tell me that there is nothing they can learn going to a class or seminar. I have a message for those people – you don’t have time not [...]]]></description>
			<content:encoded><![CDATA[<p>A common refrain from a lot of people in our industry is that they’re too busy to train or go to a class.  Some people will also tell me that there is nothing they can learn going to a class or seminar.</p>
<p>I have a message for those people – you don’t have time not to learn!</p>
<p>I will agree that most training is not 100% new content and often, if you’re knowledgeable and experienced, there is very little that’s new.  Yes, some of the time in any training session is wasted, and it would be nice if that wasted time could be avoided.    Still, in my experience, there is always a kernel of wisdom derived from training, and that kernel justifies the whole effort.  That’s happened to me time and again.</p>
<p>Have you heard the old adage about marketing – 50% of marketing dollars are wasted, but how can you predict which 50%?  Kernels of wisdom are picked up in unpredictable ways.</p>
<p>At <a href="http://www.snowbound.com" rel="nofollow" title="Snowbound Software" >Snowbound</a> we believe greater understanding brings on greater success.  If our <a href="http://www.snowbound.com/company/customers.html" rel="nofollow" title="Snowbound Customers" >customers</a> learn more about our <a href="http://www.snowbound.com/products/product_overview.html" rel="nofollow" title="Snowbound Product Overview" >products</a>, they will be more successful and faster in implementation and use.  Our greatest failures occur when a customer is unwilling to read the manual or ask for help, and then doesn’t manage to build their application correctly.</p>
<p>We continue to brainstorm how to best help our customers.  Here are our latest offers for VirtualViewer or RasterMaster assistance:</p>
<p>a)    Implementation assistance via webconference – Four hours free with orders over $10K or with the purchase of 5 days of professional services.</p>
<p>b)    Installation or configuration assistance via webconference -  Same as above</p>
<p>c)    Product training -  Same as above</p>
<p>Professional services hours can be applied to any of the above services or for custom development.   On-site training or installation services are available at extra cost.</p>
<p>Our goal is your success.  Please take the time to let us help you.</p>
<p>*  Offer subject to change without notice after 30 days from the date of this newsletter.</p>
<p>Simon Wieczner, CEO</p>
<p><span style="font-size: x-small;"><span style="font-family: helvetica;"> </span></span></p>
<p><span style="font-size: x-small;"><img src="http://www.snowbound.com/images/simon-3.gif" border="0" alt="Signature" width="75" height="27" align="left" /></span></p>
<p><span style="font-size: x-small;"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.snowbound.com/287/too-busy-for-training-%e2%80%93-even-if-it%e2%80%99s-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tricks of the Trade</title>
		<link>http://blog.snowbound.com/278/tricks-of-the-trade/</link>
		<comments>http://blog.snowbound.com/278/tricks-of-the-trade/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 14:02:53 +0000</pubDate>
		<dc:creator>Simon Wieczner</dc:creator>
				<category><![CDATA[Image Conversion]]></category>
		<category><![CDATA[Imaging Technology]]></category>
		<category><![CDATA[President's Corner]]></category>

		<guid isPermaLink="false">http://blog.snowbound.com/?p=278</guid>
		<description><![CDATA[Everyone views documents on-line nowadays, whether for bank account statements, mortgage processing, insurance claims, phone bills and more. You use Adobe Acrobat to view PDF files, Word to view office docs, MS TIFF viewer to view TIFFs and perhaps a browser to view JPEGs and PNGs. Simple, right? So why do so many of our [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone views documents on-line nowadays, whether for bank account statements, mortgage processing, insurance claims, phone bills and <a href="http://www.snowbound.com/industry/industry_overview.html" rel="nofollow" title="Industry Specific Applications" >more</a>. You use Adobe Acrobat to view PDF files, Word to view office docs, MS TIFF viewer to view TIFFs and perhaps a browser to view JPEGs and PNGs. Simple, right?</p>
<p>So why do so many of our customers complain about the cost and complexity of supporting hundreds and thousands of client stations with so many applications? They tell us they want to get away from multiple viewers. Why? Well, primarily because of that word multiple. Too many choices, too many interfaces, too many dependencies, too much training and too much cost.</p>
<p>Enter the <a href="http://www.snowbound.com/viewer_configurations/zero_footprint_option.html" rel="nofollow" title="Universal Document and Image Viewer" >universal viewer</a> – a simple solution that takes care of everything. Your worries are solved. … Unfortunately it’s not that simple. There are trade-offs. You’ve got to know what you’re doing and what to expect. TIFF and JPEG have been around a long time. We’ve been developing with them for a long time – I doubt that anyone does it better than us.</p>
<p>PDF was originated by Adobe. No one does it better than they do, particularly when they control the spec. But some of us do a very good job.</p>
<p>MS Office – same story as PDF. Invented and advanced by Microsoft and no one does it better than they do – most people don’t even dare to try; again some of us do a good job with it.</p>
<p>So first takeaway – if you’re not using the Adobe Acrobat Reader or Microsoft Word, expect some differences, some trade-offs for the benefit of having a universal viewer than solves your complexity, training and cost issues.</p>
<p>Performing <a href="http://www.snowbound.com/Virtual_Viewer/viewer_overview.html" rel="nofollow" title="Document and Image Viewer" >document and image viewing</a> efficiently and economically is a relatively transparent process, once configured correctly – but many people don’t realize that setup is key.</p>
<p>What do I mean by set up? Learn more <a href="http://www.snowbound.com/main?sec_id=132&amp;page_id=1159&amp;page_ver_id=7951" rel="nofollow" title="configure your ecm viewer set up"  target="_blank">here. </a></p>
<p>As always, I welcome any comments you may have. Address them to <span style="font-size: x-small;"><span style="font-family: arial,helvetica,sans-serif;"><a href="mailto:pres2008@snowbound.com" rel="nofollow" style="color: #2584c6; text-decoration: underline;" >pres2009@snowbound.com</a> </span></span> and I&#8217;ll personally review and respond.</p>
<p><img src="http://www.snowbound.com/images/simon-3.gif" border="0" alt="Signature" width="75" height="27" align="left" /></p>
<p>Simon Wieczner, CEO</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.snowbound.com/278/tricks-of-the-trade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JDBC Content Handler for VirtualViewer</title>
		<link>http://blog.snowbound.com/9/jdbc-content-handler-for-virtualviewer/</link>
		<comments>http://blog.snowbound.com/9/jdbc-content-handler-for-virtualviewer/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 20:39:27 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Content Handler]]></category>
		<category><![CDATA[Imaging Technology]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blog.snowbound.com/?p=9</guid>
		<description><![CDATA[One way the VirtualViewer Java servlet can be extended is by customizing the content handler on the backend of the servlet, allowing for tighter integration into content repositories or databases. PostgreSQL is an object-relational database management system licensed under the BSD license which has a strong industry backing and a number of different APIs including [...]]]></description>
			<content:encoded><![CDATA[<p>One way the VirtualViewer Java servlet can be extended is by customizing the content handler on the backend of the servlet, allowing for tighter integration into content repositories or databases. PostgreSQL is an object-relational database management system licensed under the BSD license which has a strong industry backing and a number of different APIs including C/C++, Perl, Python, PHP, and JDBC which allow for database transactions to be written in your language of choice.</p>
<p>For this setup, I used PostgreSQL v8.3.0 with the JDBC3 PostgreSQL Driver v8.3-603 and ran the VV servlet under Apache Tomcat v6.06. Instructions for installing PostgreSQL with vary depending upon your platform of choice, but there are plenty of setup guides to be found&#8211; I personally find it easer to setup and interact with databases up under Linux Since the content handler will later be built against the JDBC PostgreSQL driver, I found it helpful to build this from source for debugging.</p>
<p>The default content handler shipped with VirtualViewer can be easily extended to save binary data into a PostgreSQL database using the saveFileBytes() and getFileBytes() methods. By default, this is where the file I/O occurs for all documents and metadata in the content handler. Instead of going to disk, we use JDBC calls to access a table in our database and retrieve the appropriate content.</p>
<p><strong>Step 0:</strong> Get PostgreSQL or your DB of choice installed and all that good stuff.</p>
<p><strong>Step 1:</strong> Create new table in the database to hold our documents and metadata. I choose to associate both with the bytea data type, so I created a table like so:</p>
<p style="padding-left: 30px;">CREATE TABLE images (imgname text, img bytea);</p>
<p><strong>Step 2:</strong> Create custom content handler. I created an insertViaJDBC() method to be called from saveFileBytes() which took in a file name and byte[] array to be inserted into the database:</p>
<p style="padding-left: 30px;">DataInputStream dis = new DataInputStream(<br />
new ByteArrayInputStream( filebytes ));<br />
PreparedStatement ps =<br />
conn.prepareStatement(&#8220;INSERT INTO images VALUES (?, ?)&#8221;);<br />
ps.setString(1, filename);<br />
ps.setBinaryStream(2, dis, filebytes.length);<br />
ps.executeUpdate();</p>
<p>Likewise, I created a fetchViaJDBC() method to be called from getFileBytes() which took in a file</p>
<p style="padding-left: 30px;">PreparedStatement ps =<br />
conn.prepareStatement(&#8220;SELECT img FROM images WHERE imgname=?&#8221;);<br />
ps.setString(1, filename);<br />
ResultSet rs = ps.executeQuery();<br />
if ( rs != null ) {<br />
while( rs.next() )<br />
filebytes = rs.getBytes(1);<br />
rs.close();<br />
}</p>
<p>This all standard JDBC code adapted from the manual pages. PostgreSQL can store binary data in two ways, with either the binary bytea data type or the large object feature. I did not implement the large object feature, but depending upon your document imaging needs, you should choose accordingly.</p>
<p><strong>Step 3:</strong> Modify the servlet web.xml to point to your content handler. This is the only change to the web.xml you must make, but I also added in parameters for the database such as username, password and hostname. These parameters can then be referenced via your content handler and used in your JDBC methods. In my case, I grabbed these parameters in my content handler init() method. I also removed parameters for filePath and overPath from the web.xml since my content handler isn&#8217;t going to disk anymore for documents.</p>
<p>If you&#8217;ve implemented the content handler this far, you&#8217;ll noticed you&#8217;ve got a few problems wit annotations when you try and use it. This is because you&#8217;ll need to devise an alternative method for handling annotation layer names that doesn&#8217;t depend on file I/O. It&#8217;s fairly straightforward, basically just moving from files to String when you’re dealing with document paths. I ended up changing the method signature on both getFileBytes() and saveFileBytes() to accept a String for a file name instead of a File object&#8211; this also made for handling JDBC calls a little more logical.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.snowbound.com/9/jdbc-content-handler-for-virtualviewer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Popular Java Imaging Technology Posts from Imaging Experts</title>
		<link>http://blog.snowbound.com/8/java-imaging-technology-posts-from-imaging-experts/</link>
		<comments>http://blog.snowbound.com/8/java-imaging-technology-posts-from-imaging-experts/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 19:58:59 +0000</pubDate>
		<dc:creator>Snowbound Software</dc:creator>
				<category><![CDATA[Imaging Technology]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming Languages]]></category>

		<guid isPermaLink="false">http://blog.snowbound.com/?p=8</guid>
		<description><![CDATA[As we work to fully integrate our blog posts and discussions on document and web imaging technology to our new Snowbound Blog, here are a select group of popular posts from Imaging Experts, which our readers may find of value. JavaScripting in Applets &#8211; Getting Out of the SandboxA discovery with regards to using JavaScript [...]]]></description>
			<content:encoded><![CDATA[<p>As we work to fully integrate our blog posts and discussions on document and web imaging technology to our new Snowbound Blog, here are a select group of popular posts from Imaging Experts, which our readers may find of value.</p>
<ul>
<li><a href="http://imagingexperts.typepad.com/imaging_experts/2006/10/javascripting_i.html" rel="nofollow" >JavaScripting in Applets &#8211; Getting Out of the Sandbox</a><br/>A discovery with regards to using JavaScript with Applets, and trying to avoid running into security problems.  There is a way to break out of the sandbox, via signing. Here is an example&#8230;</li>
<li><a href="http://imagingexperts.typepad.com/imaging_experts/2006/12/another_neat_tr.html" rel="nofollow" >Another Neat Trick with the Ant</a><br/>Even though the Ant has plenty of available tasks out of the box and a wealth of 3rd party tasks already defined, you still may wish to improve your build process by creating your own custom tasks.</li>
<li><a href="http://imagingexperts.typepad.com/imaging_experts/2006/02/using_awt_depen.html" rel="nofollow" >Using AWT Dependent Imaging Routines in SWT</a><br/>If you had code that relied heavily on its interaction with the AWT-based Java2D drawing routines, how could you port that over to a new SWT-based program?  This post illustrates one method for doing so.</li>
<li><a href="http://imagingexperts.typepad.com/imaging_experts/2006/09/serialization_a.html" rel="nofollow" >Serialization: Avoiding a NotSerializableException with the Transient Keyword</a><br/>When you are writing client-server software with Java, it&#8217;s often convenient to pass Java objects from the client to the server. Java Serialization allows classes to be converted to a string format, allowing for easy network transmission</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.snowbound.com/8/java-imaging-technology-posts-from-imaging-experts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
