Found some interesting stuff for kodak.

This commit is contained in:
soukoku 2014-04-15 20:05:44 -04:00
parent 7e66da4016
commit 17ef99e4a2
15 changed files with 37718 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,994 @@
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=Generator content="Microsoft Word 10 (filtered)">
<title>Single Document Multiple Images</title>
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
h1
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
text-align:justify;
page-break-before:always;
page-break-after:avoid;
font-size:18.0pt;
font-family:"Times New Roman";}
h2
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Times New Roman";}
h3
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:12.0pt;
font-family:"Times New Roman";}
h4
{margin-top:12.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Times New Roman";}
p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2
{margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
line-height:200%;
font-size:12.0pt;
font-family:"Times New Roman";}
p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3
{margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
font-size:8.0pt;
font-family:"Times New Roman";}
pre
{margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
p.style4, li.style4, div.style4
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
text-align:justify;
page-break-before:always;
page-break-after:avoid;
font-size:18.0pt;
font-family:"Times New Roman";
font-weight:bold;}
p.style2, li.style2, div.style2
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Times New Roman";
font-weight:bold;
font-style:italic;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
{page:Section1;}
/* List Definitions */
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
-->
</style>
</head>
<body lang=EN-US>
<div class=Section1>
<p class=MsoNormal><b><span style='font-family:Arial'>Single Document Multiple
Images</span></b></p>
<p class=MsoNormal>25-Aug-2004</p>
<p class=MsoNormal>Updated: 15-Aug-2006</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><b><span style="font-family: Arial">Table of Contents</span></b></p>
<blockquote>
<p class=MsoNormal><b><span style='font-family:Arial'><a href="#OVERVIEW">Overview</a></span></b></p>
<p class=MsoNormal><font size="3"><b><span style="font-family: Arial">
<a href="#ICAP_PIXELTYPE_and_DAT_FILESYSTEM_Overview">ICAP_PIXELTYPE and
DAT_FILESYSTEM Overview</a></span></b></font></p>
<p class=MsoNormal><b><span
style='font-size:12.0pt;font-family:Arial'><a href="#ICAP_PIXELTYPE">
ICAP_PIXELTYPE</a></span></b></p>
<p class=MsoNormal><b><span
style='font-size:12.0pt;font-family:Arial'><a href="#DAT_FILESYSTEM">DAT_FILESYSTEM</a></span></b></p>
<p class=MsoNormal><b><span
style='font-size:12.0pt;font-family:Arial'>
<a href="#DAT_FILESYSTEM_vs._ICAP_PIXELTYPE">DAT_FILESYSTEM vs. ICAP_PIXELTYPE</a></span></b></p>
<p class=MsoNormal><b><span
style='font-size:12.0pt;font-family:Arial'>
<a href="#CAP_CAMERAENABLE_vs._CAP_DUPLEXENABLED">CAP_CAMERAENABLE vs. CAP_DUPLEXENABLED</a></span></b></p>
<p class=MsoNormal><b><span
style='font-size:12.0pt;font-family:Arial'><a href="#CAP_CAMERAORDER">CAP_CAMERAORDER</a></span></b></p>
<p class=MsoNormal><font size="3"><b><span style="font-family: Arial">
<a href="#Entire_session_(i.e._machine)_vs._a_single_camera">Entire session
(i.e. machine) vs. a single &quot;camera&quot;</a></span></b></font></p>
<p class=MsoNormal><b><span
style='font-size:12.0pt;font-family:Arial'><a href="#METADATA">METADATA</a></span></b></p>
</blockquote>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><b><span style='font-family:Arial'><a name="OVERVIEW">Overview</a></span></b></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>This document talks about the Single Document Multiple
Images (SDMI) behavior in TWAIN, describing how it is negotiated and what
additional metadata associated with the image needs to be collected during
image capture.&nbsp; Since this is a moderately complex subject a number of
other capabilities that have uses beyond SDMI will be discussed as well.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>SDMI behavior is easy to view graphically:</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>Original        
Color       Bitonal</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>Document        
Image       Image</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>+-------+       
+-------+   +-------+</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>|   
   |        |       |   |       |</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>|   <b><span
style='color:red'>R</span></b>   |        |   <b><span style='color:red'>R</span></b>
  |   |   <b>R</b>   |</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>|       | 
      |       |   |       |</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>|   <b><span
style='color:lime'>G</span> </b>  |  ---&gt;  |   <b><span style='color:lime'>G</span>
</b>  | + |   <b>G </b>  |</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>|       |   
    |       |   |       |</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>|   <b><span
style='color:blue'>B</span>  </b> |        |   <b><span style='color:blue'>B</span>
 </b> |   |   <b>B  </b> |</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>|   
   |        |       |   |       |</span></p>
<pre><span style='font-size:8.0pt'>+-------+        +-------+   +-------+</span></pre><pre><span
style='font-size:8.0pt'>&nbsp;</span></pre>
<p class=MsoNormal>In this example a color document results in the capture of
two images, one that is color and one that is bitonal (black &amp; white). Configurations of
this form have a variety of applications, but the most common is when the
application needs a faithful replication of the document for archival purposes
and an image suitable for data collection, such as OCR.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>SDMI puts no limit on the number of images that can result
from a document.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>SDMI is not the same as image segmentation.&nbsp; Image
segmentation divides a document into sub-images that are optimized for quality
and compression.&nbsp; In this example the driver could save the text images as
Group-4 and the picture as JPEG:</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>Original</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>Document</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>+-------+</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>| a
bit |        Segment 1   Segment 2   Segment 3</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>|of
text|        Text        Picture     Text</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>| <span
style='color:#CC99FF'>$#$#$</span> |        +-------+   +-------+   +-------+</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>| <span
style='color:#CC99FF'>#$#$#</span> |  ---&gt;  | a bit |   | <span
style='color:#CC99FF'>#$#$#</span> |   | more  |</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>| <span
style='color:#CC99FF'>$#$#$</span> |        |of text| + | <span
style='color:#CC99FF'>#$#$#</span> | + | text  |</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>|
more  |        +-------+   | <span style='color:#CC99FF'>#$#$#</span> |   +-------+</span></p>
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>| text 
|                    +-------+</span></p>
<pre><span style='font-size:8.0pt'>+-------+        </span></pre><pre>&nbsp;</pre>
<p class=MsoNormal>Image segmentation is typically used to efficiently store
images.&nbsp; SDMI is used to capture images that are then directed to
different parts of the workflow.&nbsp; It is possible to mix image segmentation
with SDMI (ex: using image segmentation to produce the faithful replication
image).&nbsp; The two technologies have different goals, though, so its not
advisable to use one to replace the other.</p>
<pre>&nbsp;</pre>
<pre>&nbsp;</pre><pre>&nbsp;</pre><pre><font size="3"><b><span style="font-family: Arial"><a name="ICAP_PIXELTYPE_and_DAT_FILESYSTEM_Overview">ICAP_PIXELTYPE and DAT_FILESYSTEM Overview</a></span></b></font></pre>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>TWAIN did not start with duplex scanning built into the
standard; this was added in version 1.7.&nbsp; So prior to 1.7
<a href="#ICAP_PIXELTYPE">ICAP_PIXELTYPE</a> selected the pixel type (i.e. color
vs. grayscale vs. bitonal) for the entire session. This could also be considered
the &quot;color space&quot;. An application could configure a driver to output
color or grayscale or bitonal images, but only one of the three, so you can not
get multiple images for a side via ICAP_PIXELTYPE. </p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>TWAIN 1.8 introduced <a href="#DAT_FILESYSTEM">DAT_FILESYSTEM</a>.&nbsp; This
allows an application to setup multiple images for a side. It also
helps support setting of different values for the front and rear. For example,
getting color on the front and grayscale on the rear.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>To help maintain backwards compatibility, ICAP_PIXELTYPE needs to
continue to apply to the entire session. This means ICAP_PIXELTYPE should
never be negotiated with DAT_FILESYSTEM.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;</p>
<pre><b><span
style='font-size:12.0pt;font-family:Arial'><a name="ICAP_PIXELTYPE">ICAP_PIXELTYPE</a></span></b></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre>
<p class=MsoNormal>Setting ICAP_PIXELTYPE will set both the front and rear
images to the given TWPT_ value and automatically set CAP_DUPLEXENABLED to true.
Use ICAP_BITDEPTH to determine how many bits make a single pixel, such as 8 for 8-bit
grayscale or 24 for 3-channel/8-bits-per-channel RGB.&nbsp; </p><pre>&nbsp;</pre>
<pre>&nbsp;</pre>
<pre>&nbsp;</pre>
<pre><b><span
style='font-size:12.0pt;font-family:Arial'><a name="DAT_FILESYSTEM">DAT_FILESYSTEM</a></span></b></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre>
<p class=MsoNormal>DAT_FILESYSTEM addresses individual “cameras”.&nbsp; The term “camera” doesnt
mean that the image capture device uses a camera; rather its a generic term
for an image capture source.&nbsp; DAT_FILESYSTEM calls the front side of the
paper as the 'top' &quot;camera&quot;, and the rear as 'bottom'. This doesn't have
anything to do with the physical position of the camera, it is being used to describe what the user
considers the top (i.e. front) of the sheet of paper versus the bottom (i.e. rear).</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>The driver will output images based on CAP_CAMERAENABLED. So
while a &quot;camera&quot; can be individually set via DAT_FILESYSTEM, you must also set
CAP_CAMERAENABLED to true for each &quot;camera&quot; you want the driver to actually
produce.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>The values for DAT_FILESYSTEM are typically:</p>
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
style='border-collapse:collapse' id="table1">
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'><pre>Camera name</pre></td>
<td width=150 valign=top style='width:112.8pt;border:solid windowtext 1.0pt;
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'><pre>Side</pre></td>
<td width=150 valign=top style='width:112.8pt;border:solid windowtext 1.0pt;
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'><pre>Image</pre></td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'><pre>/Camera_Color_Top</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>front</td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt' align="left">color or grayscale</td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'><pre>/Camera_Color_Bottom</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>rear</td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt' align="left">color or grayscale</td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'><pre>/Camera_Color_Both</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>front and rear</td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt' align="left">color or grayscale</td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'><pre>/Camera_Bitonal_Top</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>front</td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt' align="left">bitonal</td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'><pre>/Camera_Bitonal_Bottom</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>rear</td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt' align="left">bitonal</td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'><pre>/Camera_Bitonal_Both</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>front and rear</td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt' align="left">bitonal</td>
</tr>
</table>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>Using a camera that ends in '_Both' means future settings
will be applied to both the front and rear images.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><a href="TWAIN_FileSystem.htm">Sample source code</a></p>
<pre>&nbsp;</pre>
<pre>&nbsp;</pre>
<p class=MsoNormal>&nbsp;</p><pre><b><span
style='font-size:12.0pt;font-family:Arial'><a name="DAT_FILESYSTEM_vs._ICAP_PIXELTYPE">DAT_FILESYSTEM vs. ICAP_PIXELTYPE</a></span></b></pre><pre>&nbsp;</pre>
<p class=MsoNormal>If DAT_FILESYSTEM is set, then ICAP_PIXELTYPE must
reflect the current value of the &quot;camera&quot;.&nbsp; For instance, if DAT_FILESYSTEM
is set to /Camera_Color_Both, then ICAP_PIXELTYPE should be set to TWPT_RGB
(this is a basic sanity check for the driver to prevent DAT_FILESYSTEM and ICAP_PIXELTYPE from ever reporting conflicting values).</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>However, if ICAP_PIXELTYPE is set, then the following things
must happen to DAT_FILESYSTEM and CAP_CAMERAENABLE:</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'>If ICAP_PIXELTYPE is set to
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
TWPT_RGB</p>
<p class=MsoNormal style='margin-left:.5in'>DAT_FILESYSTEM changes to
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /Camera_Color_Both</p>
<p class=MsoNormal style='margin-left:.5in'>CAP_CAMERAENABLE changes to:</p>
<p class=MsoNormal style='margin-left:1.0in'>/Camera_Color_Top:&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
TRUE</p>
<p class=MsoNormal style='margin-left:1.0in'>/Camera_Color_Bottom:&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
TRUE</p>
<p class=MsoNormal style='margin-left:1.0in'>/Camera_Bitonal_Top:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FALSE</p>
<p class=MsoNormal style='margin-left:1.0in'>/Camera_Bitonal_Bottom:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FALSE</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'>If ICAP_PIXELTYPE is set to
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
TWPT_BW</p>
<p class=MsoNormal style='margin-left:.5in'>DAT_FILESYSTEM changes to
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /Camera_Bitonal_Both</p>
<p class=MsoNormal style='margin-left:.5in'>CAP_CAMERAENABLE changes to:</p>
<p class=MsoNormal style='margin-left:1.0in'>/Camera_Color_Top:&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FALSE</p>
<p class=MsoNormal style='margin-left:1.0in'>/Camera_Color_Bottom:&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FALSE</p>
<p class=MsoNormal style='margin-left:1.0in'>/Camera_Bitonal_Top:&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TRUE</p>
<p class=MsoNormal style='margin-left:1.0in'>/Camera_Bitonal_Bottom:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TRUE</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>The behavior guarantees that older applications and newer
applications can work with the same driver.&nbsp; Application writers need to
decide if they want to use ICAP_PIXELTYPE or DAT_FILESYSTEM
when negotiating with a particular driver, never use both together.&nbsp; As a
guideline, if DAT_FILESYSTEM are supported by a driver, use them,
since they offer more functionality than ICAP_PIXELTYPE.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;</p>
<pre><b><span
style='font-size:12.0pt;font-family:Arial'><a name="CAP_CAMERAENABLE_vs._CAP_DUPLEXENABLED">CAP_CAMERAENABLE vs. CAP_DUPLEXENABLED</a></span></b></pre><pre>&nbsp;</pre>
<p class=MsoNormal>Care needs to be taken when mixing CAP_CAMERAENABLE and
CAP_DUPLEXENABLED. The recommendation is to use one or the other. Here is an
example of the interdependency:</p>
<blockquote>
<p class=MsoNormal>Table-1 shows an example of creating one color and one
bitonal image from the front of every sheet of paper fed during the scanning
session. In this case, CAP_DUPLEXENABLED would have been set to False.</p>
<pre>&nbsp;</pre>
<pre>Table-1</pre>
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
style='border-collapse:collapse' id="table2">
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
<pre>DAT_FILESYSTEM</pre></td>
<td width=150 valign=top style='width:112.8pt;border:solid windowtext 1.0pt;
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
<pre>CAP_CAMERAENABLE</pre></td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<pre>/Camera_Color_Top</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<pre style='text-align:center'>TRUE</pre></td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<pre>/Camera_Color_Bottom</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<pre style='text-align:center'>FALSE</pre></td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<pre>/Camera_Bitonal_Top</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<pre style='text-align:center'>TRUE</pre></td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<pre>/Camera_Bitonal_Bottom</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<pre style='text-align:center'>FALSE</pre></td>
</tr>
</table>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>If the application then sets CAP_DUPLEXENABLED to True, we
would expect the table to change to the following:</p>
<pre>&nbsp;</pre>
<pre>Table-2</pre>
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
style='border-collapse:collapse'>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
<pre>DAT_FILESYSTEM</pre></td>
<td width=150 valign=top style='width:112.8pt;border:solid windowtext 1.0pt;
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
<pre>CAP_CAMERAENABLE</pre></td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<pre>/Camera_Color_Top</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<pre style='text-align:center'>TRUE</pre></td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<pre>/Camera_Color_Bottom</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<pre style='text-align:center'>TRUE</pre></td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<pre>/Camera_Bitonal_Top</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<pre style='text-align:center'>TRUE</pre></td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<pre>/Camera_Bitonal_Bottom</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<pre style='text-align:center'>TRUE</pre></td>
</tr>
</table>
</blockquote>
<pre>&nbsp;</pre>
<p class=MsoNormal>NOTE: Rear only scanning is considered to be a special duplex
operation.&nbsp; So for the following table CAP_DUPLEXENABLED would be True:</p>
<blockquote>
<pre>Table-3</pre>
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
style='border-collapse:collapse'>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
<pre>DAT_FILESYSTEM</pre></td>
<td width=150 valign=top style='width:112.8pt;border:solid windowtext 1.0pt;
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
<pre>CAP_CAMERAENABLE</pre></td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<pre>/Camera_Color_Top</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<pre style='text-align:center'>FALSE</pre></td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<pre>/Camera_Color_Bottom</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<pre style='text-align:center'>TRUE</pre></td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<pre>/Camera_Bitonal_Top</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<pre style='text-align:center'>FALSE</pre></td>
</tr>
<tr>
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<pre>/Camera_Bitonal_Bottom</pre></td>
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<pre style='text-align:center'>TRUE</pre></td>
</tr>
</table>
</blockquote>
<pre>&nbsp;</pre>
<pre>&nbsp;</pre>
<pre><b><span
style='font-size:12.0pt;font-family:Arial'><a name="CAP_CAMERAORDER">CAP_CAMERAORDER</a></span></b></pre><pre>&nbsp;</pre>
<p class=MsoNormal>The output order of the images can be adjusted using
CAP_CAMERAORDER (using the CAP_CAMERA TWCM_*_BOTH values).&nbsp; This is a TW_ARRAY
container that has the name of each of the cameras in the order they will be
transferred from the driver to the application.&nbsp; For example, if
CAP_CAMERAORDER is set to TWCM_BW_BOTH TWCM_CL_BOTH, then the bitonal image
will be transferred before the color image.&nbsp; For a duplex session this
would look like the following:</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Bitonal Front</p>
<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Color Front</p>
<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Bitonal Rear</p>
<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Color Rear</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>To simplify the validation rules between CAP_CAMERAENABLED and
CAP_CAMERAORDER do the following:</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'>1)<span style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;
</span>If CAP_CAMERAORDER includes a &quot;camera&quot; that is set to False, then the
driver will ignore it.</p>
<p class=MsoNormal style='margin-left:.5in'>2)<span style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;
</span>If CAP_CAMERAORDER does not include a &quot;camera&quot; that is set to True,
then the driver is free to output the images in whatever ordering it wants.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;</p>
<pre>&nbsp;</pre>
<pre><font size="3"><b><span style="font-family: Arial"><a name="Entire_session_(i.e._machine)_vs._a_single_camera">Entire session (i.e. machine) vs. a single &quot;camera&quot;</a></span></b></font></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre>
<p class=MsoNormal>The addition of independent front and rear capability
negotiation immediately raises the question: which capabilities belong to the
machine (like CAP_DUPLEX) and which ones belong to a &quot;camera&quot; (like CAP_COMPRESSION).&nbsp; There is no easy answer to this, since the hardware of
the device dictates the capabilities.&nbsp; For instance scanner ABC may allow
independent selection of ICAP_COMPRESSION for front and rear cameras because
the designers put in dedicated compression chips for each side.&nbsp; Whereas
scanner XYZ, in an effort to save costs, only used one chip for this operation,
and they have no way to independently set the front from the rear for this one
capability.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>So, to help figure out where each capability goes, Kodak
scanners have enhancement DG_CONTROL / DAT_CAPABILITY /
MSG_QUERYSUPPORT with additional TWQC_ flags:</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'>
<span style='font-size:10.0pt;
font-family:"Courier New";color:blue'>#define</span><span style='font-size:
10.0pt;font-family:"Courier New"'> TWQC_MACHINE&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1000&nbsp;&nbsp;&nbsp; // applies to
entire session/machine</span></p>
<p class=MsoNormal style='margin-left:.5in'>
<span style='font-size:10.0pt;
font-family:"Courier New";color:blue'>#define</span><span style='font-size:
10.0pt;font-family:"Courier New"'> TWQC_BITONAL&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;0x2000&nbsp;&nbsp;&nbsp; // applies to Bitonal &quot;cameras&quot;</span></p>
<p class=MsoNormal style='margin-left:.5in'>
<span style='font-size:10.0pt;
font-family:"Courier New";color:blue'>#define</span><span style='font-size:
10.0pt;font-family:"Courier New"'> TWQC_COLOR&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;0x4000&nbsp;&nbsp;&nbsp; // applies to Color &quot;cameras&quot;</span></p>
<blockquote>
<p class=MsoNormal>A
capability cannot mix TWQC_MACHINE with any of the other items listed above; otherwise all
combinations are valid (e.g. a capability could have TWQC_BITONAL and TWQC_COLOR).</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>Capabilities
that describe themselves as TWQC_MACHINE are accessible at all times,
regardless of the current setting of DAT_FILESYSTEM.&nbsp; This
means that a capability like CAP_DUPLEXENABLED can always be negotiated, (i.e.,
even if the current camera is set to something like /Camera_Bitonal_Rear).</p>
</blockquote>
<pre>&nbsp;</pre><pre>&nbsp;</pre><pre><b><span
style='font-size:12.0pt;font-family:Arial'><a name="METADATA">METADATA</a></span></b></pre><pre>&nbsp;</pre>
<p class=MsoNormal>Metadata is the descriptive data that accompanies an
image.&nbsp; TWAIN has two primary ways of communicating this information to an
application: DAT_IMAGEINFO and DAT_EXTIMAGEINFO.&nbsp; Since DAT_EXTIMAGEINFO
is extensible its the only way to introduce new metadata items to the TWAIN
specification without creating a new DAT operation (and we dont really need
any more of those right now).</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>SDMI presents a bit of a problem for the application because
the stream of images makes it difficult to tell which ones go with which
document.&nbsp; This problem becomes compounded with things like
automatic color detection (imagine not knowing if the
application will get color or bitonal data on the next image).</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>Since the problem takes the form of a lack-of-communication
problem, the solution is more data.&nbsp; With the Kodak drivers the following
additional items are added to the list of DAT_EXTIMAGEINFO fields:</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span
style='font-size:10.0pt;font-family:"Courier New";color:blue'>#define</span><span
style='font-size:10.0pt;font-family:"Courier New"'>
TWEI_HDR_PAGESIDE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x8001</span></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span
style='font-size:10.0pt;font-family:"Courier New";color:blue'>#define</span><span
style='font-size:10.0pt;font-family:"Courier New"'>
TWEI_HDR_IMAGENUMBER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x8017</span></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span
style='font-size:10.0pt;font-family:"Courier New";color:blue'>#define</span><span
style='font-size:10.0pt;font-family:"Courier New"'>
TWEI_HDR_PAGENUMBER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x8018</span></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span
style='font-size:10.0pt;font-family:"Courier New";color:blue'>#define</span><span
style='font-size:10.0pt;font-family:"Courier New"'> TWEI_HDR_PAGEIMAGENUMBER&nbsp;&nbsp;
0x8019</span></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>TWEI_HDR_PAGESIDE returns 0 for a front image and 1 for a
rear image.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>TWEI_HDR_IMAGENUMBER counts from 1 to 2^32-1 the number of
images captured since the application first MSG_OPENDSd the driver.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>TWEI_HDR_PAGENUMBER counts from 1 to 2^32-1 the number of
pages of paper captures since the application first MSG_OPENDSd the driver.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>TWEI_HDR_PAGEIMAGENUMBER counts from 1 to the number of
images captured from the document.&nbsp; For instance, given an SDMI session
where the driver is transferring a color and a bitonal image for the front and
a bitonal image for the rear we get the following sequence:</p>
<p class=MsoNormal>&nbsp;</p>
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
style='border-collapse:collapse'>
<tr>
<td width=71 valign=top style='width:53.6pt;border:solid windowtext 1.0pt;
background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>Image</p>
</td>
<td width=84 valign=top style='width:63.0pt;border:solid windowtext 1.0pt;
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>Page Side</p>
</td>
<td width=108 valign=top style='width:81.0pt;border:solid windowtext 1.0pt;
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>Image Number</p>
</td>
<td width=108 valign=top style='width:81.0pt;border:solid windowtext 1.0pt;
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>Page Number</p>
</td>
<td width=132 valign=top style='width:99.0pt;border:solid windowtext 1.0pt;
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>PageImageNumber</p>
</td>
</tr>
<tr>
<td width=71 valign=top style='width:53.6pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>Color</p>
</td>
<td width=84 valign=top style='width:63.0pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>Front</p>
</td>
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>1</p>
</td>
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>1</p>
</td>
<td width=132 valign=top style='width:99.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>1</p>
</td>
</tr>
<tr>
<td width=71 valign=top style='width:53.6pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>Bitonal</p>
</td>
<td width=84 valign=top style='width:63.0pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>Front</p>
</td>
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>2</p>
</td>
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>1</p>
</td>
<td width=132 valign=top style='width:99.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>2</p>
</td>
</tr>
<tr>
<td width=71 valign=top style='width:53.6pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>Color</p>
</td>
<td width=84 valign=top style='width:63.0pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>Rear</p>
</td>
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>3</p>
</td>
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>1</p>
</td>
<td width=132 valign=top style='width:99.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>3</p>
</td>
</tr>
<tr>
<td width=71 valign=top style='width:53.6pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>Color</p>
</td>
<td width=84 valign=top style='width:63.0pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>Front</p>
</td>
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>4</p>
</td>
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>2</p>
</td>
<td width=132 valign=top style='width:99.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>1</p>
</td>
</tr>
<tr>
<td width=71 valign=top style='width:53.6pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>Bitonal</p>
</td>
<td width=84 valign=top style='width:63.0pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>Front</p>
</td>
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>5</p>
</td>
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>2</p>
</td>
<td width=132 valign=top style='width:99.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>2</p>
</td>
</tr>
<tr>
<td width=71 valign=top style='width:53.6pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>Color</p>
</td>
<td width=84 valign=top style='width:63.0pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>Rear</p>
</td>
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>6</p>
</td>
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>2</p>
</td>
<td width=132 valign=top style='width:99.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>3</p>
</td>
</tr>
</table>
<p class=MsoNormal>&nbsp;</p>
<ul style='margin-top:0in' type=disc>
<li class=MsoNormal>- note, if TWAIN standardizes on these names it will most
likely lose the _HDR in the names.</li>
</ul>
<p class=MsoNormal>&nbsp;</p>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,254 @@
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=Generator content="Microsoft Word 10 (filtered)">
<title>Here is some sample code for how to change cameras using the DG_CONTROL
/ DAT_FILESYSTEM operations</title>
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
h1
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
text-align:justify;
text-indent:0in;
page-break-before:always;
page-break-after:avoid;
font-size:18.0pt;
font-family:"Times New Roman";}
h2
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
text-indent:0in;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Times New Roman";}
h3
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
text-indent:0in;
page-break-after:avoid;
font-size:12.0pt;
font-family:"Times New Roman";}
h4
{margin-top:12.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
text-indent:0in;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Times New Roman";}
p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2
{margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
line-height:200%;
font-size:12.0pt;
font-family:"Times New Roman";}
p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3
{margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
font-size:8.0pt;
font-family:"Times New Roman";}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
{margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
p.Style4, li.Style4, div.Style4
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
text-align:justify;
text-indent:0in;
page-break-before:always;
page-break-after:avoid;
font-size:18.0pt;
font-family:"Times New Roman";
font-weight:bold;}
p.Style2, li.Style2, div.Style2
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Times New Roman";
font-weight:bold;
font-style:italic;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 65.95pt 1.0in 65.95pt;}
div.Section1
{page:Section1;}
/* List Definitions */
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
-->
</style>
</head>
<body lang=EN-US>
<div class=Section1>
<p class=MsoPlainText style='margin-right:224.25pt'>Here is some sample code
for how to change cameras using the DG_CONTROL / DAT_FILESYSTEM operations.</p>
<p class=MsoPlainText style='margin-right:224.25pt'>&nbsp;</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>TW_FILESYSTEM fs;</p>
<p class=MsoPlainText>TW_STR255 cameraname[3];</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>// For loop used to discover available cameras...</p>
<p class=MsoPlainText>memset(cameraname,0,sizeof(cameraname));</p>
<p class=MsoPlainText>for (rc = (*pDSM_Entry)</p>
<p class=MsoPlainText>            (&amp;AppId,&amp;SourceId,</p>
<p class=MsoPlainText>             DG_CONTROL,</p>
<p class=MsoPlainText>             DAT_FILESYSTEM,</p>
<p class=MsoPlainText>             MSG_GETFIRSTFILE,(TW_MEMREF)&amp;fs);</p>
<p class=MsoPlainText>     rc == TWRC_SUCCESS;</p>
<p class=MsoPlainText>     rc = (*pDSM_Entry)</p>
<p class=MsoPlainText>            (&amp;AppId,&amp;SourceId,</p>
<p class=MsoPlainText>             DG_CONTROL,</p>
<p class=MsoPlainText>             DAT_FILESYSTEM,</p>
<p class=MsoPlainText>             MSG_GETNEXTFILE,(TW_MEMREF)&amp;fs)) {</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>      // This is the combined front / rear camera...</p>
<p class=MsoPlainText>      // In each case, just take the first one we find...</p>
<p class=MsoPlainText>      if (fs.FileType == TWFY_CAMERA) {</p>
<p class=MsoPlainText>            if (!cameraname[0][0])
strcpy(cameraname[0],fs.OutputName);</p>
<p class=MsoPlainText>      // This is the front camera...</p>
<p class=MsoPlainText>      } else if (fs.FileType == TWFY_CAMERA_TOP) {</p>
<p class=MsoPlainText>            if (!cameraname[1][0])
strcpy(cameraname[1],fs.OutputName);</p>
<p class=MsoPlainText>      // This is the rear camera...</p>
<p class=MsoPlainText>      } else if (fs.FileType == TWFY_CAMERA_BOTTOM) {</p>
<p class=MsoPlainText>            if (!cameraname[2][0])
strcpy(cameraname[2],fs.OutputName);</p>
<p class=MsoPlainText>      }</p>
<p class=MsoPlainText>}</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>// Change to the front camera...</p>
<p class=MsoPlainText>strcpy(fs.InputName,cameraname[1]);</p>
<p class=MsoPlainText>rc = (*pDSM_Entry)</p>
<p class=MsoPlainText>      (&amp;AppId,&amp;SourceId,</p>
<p class=MsoPlainText>       DG_CONTROL,</p>
<p class=MsoPlainText>       DAT_FILESYSTEM,</p>
<p class=MsoPlainText>       MSG_CHANGEDIRECTORY,(TW_MEMREF)&amp;fs);</p>
<p class=MsoPlainText>// Set some front capabilities, like ICAP_CONTRAST</p>
<p class=MsoPlainText>...</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>// Change to the rear camera...</p>
<p class=MsoPlainText>strcpy(fs.InputName,cameraname[2]);</p>
<p class=MsoPlainText>rc = (*pDSM_Entry)</p>
<p class=MsoPlainText>      (&amp;AppId,&amp;SourceId,</p>
<p class=MsoPlainText>       DG_CONTROL,</p>
<p class=MsoPlainText>       DAT_FILESYSTEM,</p>
<p class=MsoPlainText>       MSG_CHANGEDIRECTORY,(TW_MEMREF)&amp;fs);</p>
<p class=MsoPlainText>// Set some rear capabilities, like ICAP_CONTRAST</p>
<p class=MsoPlainText>...</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>// Change back to the combined camera (have to do</p>
<p class=MsoPlainText>// this before scanning starts, but can also do</p>
<p class=MsoPlainText>// this to simultaneously change front and rear</p>
<p class=MsoPlainText>// values).  Note that this is the default camera</p>
<p class=MsoPlainText>// when the Source is first started...</p>
<p class=MsoPlainText>strcpy(fs.InputName,cameraname[0]);</p>
<p class=MsoPlainText>rc = (*pDSM_Entry)</p>
<p class=MsoPlainText>      (&amp;AppId,&amp;SourceId,</p>
<p class=MsoPlainText>       DG_CONTROL,</p>
<p class=MsoPlainText>       DAT_FILESYSTEM,</p>
<p class=MsoPlainText>       MSG_CHANGEDIRECTORY,(TW_MEMREF)&amp;fs);</p>
<p class=MsoPlainText>...</p>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,218 @@
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=Generator content="Microsoft Word 10 (filtered)">
<title>Correct TWAIN Usage</title>
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
h1
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
text-align:justify;
page-break-before:always;
page-break-after:avoid;
font-size:18.0pt;
font-family:"Times New Roman";}
h2
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Times New Roman";}
h3
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:12.0pt;
font-family:"Times New Roman";}
h4
{margin-top:12.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Times New Roman";}
p.MsoHeader, li.MsoHeader, div.MsoHeader
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
p.MsoFooter, li.MsoFooter, div.MsoFooter
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2
{margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
line-height:200%;
font-size:12.0pt;
font-family:"Times New Roman";}
p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3
{margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
font-size:8.0pt;
font-family:"Times New Roman";}
pre
{margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
p.style4, li.style4, div.style4
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
text-align:justify;
page-break-before:always;
page-break-after:avoid;
font-size:18.0pt;
font-family:"Times New Roman";
font-weight:bold;}
p.style2, li.style2, div.style2
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Times New Roman";
font-weight:bold;
font-style:italic;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang=EN-US>
<div class=Section1><pre>&nbsp;</pre><pre>&nbsp;</pre><pre><b><span
style='font-size:12.0pt;font-family:Arial'>Correct TWAIN Usage</span></b></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>We recommend against applications identifying scanner models.&nbsp; TWAIN is designed to expose functionality through capability negotiation.&nbsp; Writing applications that use functionality based on a model number makes it harder to maintain the code as new models come out that mix that functionality.&nbsp; For example:</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Model 100 has features A, B, C</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Model 200 has features A, X, Y</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Code is written as follows:</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Always use A</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If (100) use B, C</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If (200) use X, Y</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A new model 300 has features D, C, X</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If (100 200) use A</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If (100) use B, C</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If (200) use X, Y</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If (300) use C, X</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>There are other ways to code this, but they all get unwieldy over time.&nbsp; The preferred method is:</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If A is supported use A</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If B is supported use B</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If C is supported use C</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If X is supported use X</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Y is supported use Y</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>In TWAIN a capability is tested for support using DG_CONTROL / DAT_CAPABILITY / MSG_QUERYSUPPORT.</span></pre><pre>&nbsp;</pre><pre>&nbsp;</pre><pre
style='page-break-before:always'>&nbsp;</pre><pre>&nbsp;</pre><pre><b><span
style='font-size:12.0pt;font-family:Arial'>Alternative TWAIN Usage</span></b></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>Every effort is made to make sure that the standard TWAIN capabilities are presented in a consistent fashion across all scanner models.&nbsp; Unfortunately, this same requirement is harder to enforce for the custom driver features.&nbsp; In situations like this it may be easier to identify a group of functions by associating them with a model number.</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>Before performing any custom operation an application must unambiguously identify the driver.&nbsp; For all KDS drivers this is done by examining the TW_IDENTITY returned by the DG_CONTROL / DAT_PARENT / MSG_OPENDS, and looking for the following:</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Manufacturer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Eastman Kodak Company&quot;</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Version.Info&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;KDS v#.#.# YYYY/MM/DD&quot;</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>This information does not apply to the 1500/2500 or the i50/i60/i80.&nbsp; These scanner models use different drivers, so one or both of the above fields will be different.</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>KDS Version 5/6.x drivers and higher report a specific scanner model through DG_CONTROL / DAT_DEVICEINFO/ MSG_GET when it is called in State 4 or higher.&nbsp; The model information is returned in the TW_DEVICEINFO.dwModelNumber or TW_DEVICEINFO.szModelName field.&nbsp; This is a custom feature of our driver.</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>KDS Version 4.x drivers and higher report a specific scanner model through DG_CONTROL / DAT_IDENTITY / MSG_GET when it is called in State 4 or higher.&nbsp; The model information is returned in the TW_IDENTITY.ProductName field.&nbsp; This is a custom feature of our driver.&nbsp; </span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>KDS Version 3.x, 2.x and 1.x drivers do not support this feature, so it is necessary to use another method to identify the scanner model.&nbsp; The technique involves the systematic examination of standard and custom capabilities.&nbsp; The pseudo-code for this is provided below.</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>Note that it is not possible in all situations to uniquely identify all models in this way.&nbsp; However, from the viewpoint of the driver all of the models grouped in a section support exactly the same operations and capabilities, so for the purpose of testing for functionality, this technique is sufficient.</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre style='page-break-before:
always'><span style='font-family:Arial'>&nbsp;</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>if CAP_MODE supported:&nbsp; 5xx/9xx/5xxx/7xxx/9xxx</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp; if ICAP_FRAMELENGTHCONTROL supported</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CAP_PRINTERENABLED supported</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ICAP_XRESOLUTION includes 400 dpi</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 500/7560</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 500A/5520/7520</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endif</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ICAP_XRESOLUTION includes 400 dpi</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 500/7550</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 500A/5500/7500</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endif</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endif</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp; else</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ICAP_XRESOLUTION includes 300</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 900/923/9500/9520</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 990</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endif</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp; endif</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>else if CAP_IMAGEADDRESS supported: 8xx</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp; if ICAP_PIXELTYPE includes TWPT_RGB</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i820/i840</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp; else</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ICAP_XRESOLUTION includes 400 dpi</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i830</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i810</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endif</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp; endif</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>else it must be mid-volume: 3xxx/4xxx</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp; if CAP_ENABLECOLORPATCHCODE supported</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3590</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp; else if ICAP_PIXELTYPE includes TWPT_RGB</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4500</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp; else if CAP_AUTOMATICBORDERDETECTION supported</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3520</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp; else if CAP_MULTIFEEDTHICKNESSDETECTION supported</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3510</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp; else</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3500</span></pre><pre><span
style='font-family:Arial'>&nbsp;&nbsp;&nbsp; endif</span></pre><pre><span
style='font-family:Arial'>&nbsp;</span></pre><pre><span style='font-family:
Arial'>endif</span></pre>
<p class=MsoNormal><span style='font-family:Arial'>&nbsp;</span></p>
</div>
</body>
</html>

897
Spec/Kodak/debugging.htm Normal file
View File

@ -0,0 +1,897 @@
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
xmlns:st1="urn:schemas-microsoft-com:office:smarttags"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 12">
<meta name=Originator content="Microsoft Word 12">
<link rel=File-List href="debugging_files/filelist.xml">
<title>Kodak KDS TWAIN Driver</title>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="place"/>
<!--[if gte mso 9]><xml>
<o:DocumentProperties>
<o:Author>50484369</o:Author>
<o:LastAuthor>50484369</o:LastAuthor>
<o:Revision>4</o:Revision>
<o:TotalTime>4</o:TotalTime>
<o:Created>2012-06-20T19:36:00Z</o:Created>
<o:LastSaved>2012-07-03T14:06:00Z</o:LastSaved>
<o:Pages>2</o:Pages>
<o:Words>907</o:Words>
<o:Characters>5176</o:Characters>
<o:Company>Microsoft</o:Company>
<o:Lines>43</o:Lines>
<o:Paragraphs>12</o:Paragraphs>
<o:CharactersWithSpaces>6071</o:CharactersWithSpaces>
<o:Version>12.00</o:Version>
</o:DocumentProperties>
</xml><![endif]-->
<link rel=themeData href="debugging_files/themedata.thmx">
<link rel=colorSchemeMapping href="debugging_files/colorschememapping.xml">
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:SpellingState>Clean</w:SpellingState>
<w:TrackMoves>false</w:TrackMoves>
<w:TrackFormatting/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="&#45;-"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" LatentStyleCount="267">
<w:LsdException Locked="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
QFormat="true" Name="caption"/>
<w:LsdException Locked="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="99" Name="No List"/>
<w:LsdException Locked="false" Priority="99" SemiHidden="true"
Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" Priority="99" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if !mso]><object
classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
<style>
st1\:*{behavior:url(#ieooui) }
</style>
<![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:SimSun;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:\5B8B\4F53;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 680460288 22 0 262145 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:0;
mso-generic-font-family:roman;
mso-font-pitch:variable;
mso-font-signature:-536870145 1107305727 0 0 415 0;}
@font-face
{font-family:"\@SimSun";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 680460288 22 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:SimSun;}
h1
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-link:"Heading 1 Char";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
text-align:justify;
page-break-before:always;
mso-pagination:widow-orphan;
page-break-after:avoid;
mso-outline-level:1;
font-size:18.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;}
h2
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-link:"Heading 2 Char";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
mso-pagination:widow-orphan;
page-break-after:avoid;
mso-outline-level:2;
font-size:14.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;}
h3
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-link:"Heading 3 Char";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
mso-pagination:widow-orphan;
page-break-after:avoid;
mso-outline-level:3;
font-size:12.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;}
h4
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-link:"Heading 4 Char";
margin-top:12.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
mso-pagination:widow-orphan;
page-break-after:avoid;
mso-outline-level:4;
font-size:14.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;}
p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2
{mso-style-unhide:no;
mso-style-link:"Body Text 2 Char";
margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
line-height:200%;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:SimSun;}
p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3
{mso-style-unhide:no;
mso-style-link:"Body Text 3 Char";
margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
mso-pagination:widow-orphan;
font-size:8.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:SimSun;}
span.Heading1Char
{mso-style-name:"Heading 1 Char";
mso-style-unhide:no;
mso-style-locked:yes;
mso-style-link:"Heading 1";
mso-ansi-font-size:14.0pt;
mso-bidi-font-size:14.0pt;
font-family:"Cambria","serif";
mso-ascii-font-family:Cambria;
mso-ascii-theme-font:major-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:major-fareast;
mso-hansi-font-family:Cambria;
mso-hansi-theme-font:major-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:major-bidi;
color:#365F91;
mso-themecolor:accent1;
mso-themeshade:191;
font-weight:bold;}
span.Heading2Char
{mso-style-name:"Heading 2 Char";
mso-style-unhide:no;
mso-style-locked:yes;
mso-style-link:"Heading 2";
mso-ansi-font-size:13.0pt;
mso-bidi-font-size:13.0pt;
font-family:"Cambria","serif";
mso-ascii-font-family:Cambria;
mso-ascii-theme-font:major-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:major-fareast;
mso-hansi-font-family:Cambria;
mso-hansi-theme-font:major-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:major-bidi;
color:#4F81BD;
mso-themecolor:accent1;
font-weight:bold;}
span.Heading3Char
{mso-style-name:"Heading 3 Char";
mso-style-unhide:no;
mso-style-locked:yes;
mso-style-link:"Heading 3";
mso-ansi-font-size:12.0pt;
mso-bidi-font-size:12.0pt;
font-family:"Cambria","serif";
mso-ascii-font-family:Cambria;
mso-ascii-theme-font:major-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:major-fareast;
mso-hansi-font-family:Cambria;
mso-hansi-theme-font:major-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:major-bidi;
color:#4F81BD;
mso-themecolor:accent1;
font-weight:bold;}
span.Heading4Char
{mso-style-name:"Heading 4 Char";
mso-style-unhide:no;
mso-style-locked:yes;
mso-style-link:"Heading 4";
mso-ansi-font-size:12.0pt;
mso-bidi-font-size:12.0pt;
font-family:"Cambria","serif";
mso-ascii-font-family:Cambria;
mso-ascii-theme-font:major-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:major-fareast;
mso-hansi-font-family:Cambria;
mso-hansi-theme-font:major-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:major-bidi;
color:#4F81BD;
mso-themecolor:accent1;
font-weight:bold;
font-style:italic;}
span.BodyText2Char
{mso-style-name:"Body Text 2 Char";
mso-style-unhide:no;
mso-style-locked:yes;
mso-style-link:"Body Text 2";
mso-ansi-font-size:12.0pt;
mso-bidi-font-size:12.0pt;
font-family:SimSun;
mso-ascii-font-family:SimSun;
mso-fareast-font-family:SimSun;
mso-hansi-font-family:SimSun;}
span.BodyText3Char
{mso-style-name:"Body Text 3 Char";
mso-style-unhide:no;
mso-style-locked:yes;
mso-style-link:"Body Text 3";
mso-ansi-font-size:8.0pt;
mso-bidi-font-size:8.0pt;
font-family:SimSun;
mso-ascii-font-family:SimSun;
mso-fareast-font-family:SimSun;
mso-hansi-font-family:SimSun;}
p.style4, li.style4, div.style4
{mso-style-name:style4;
mso-style-unhide:no;
margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
text-align:justify;
page-break-before:always;
mso-pagination:widow-orphan;
page-break-after:avoid;
font-size:18.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:SimSun;
font-weight:bold;}
p.style2, li.style2, div.style2
{mso-style-name:style2;
mso-style-unhide:no;
margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
mso-pagination:widow-orphan;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:SimSun;
font-weight:bold;
font-style:italic;}
span.SpellE
{mso-style-name:"";
mso-spl-e:yes;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
font-size:10.0pt;
mso-ansi-font-size:10.0pt;
mso-bidi-font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.WordSection1
{page:WordSection1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman","serif";}
</style>
<![endif]--><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="3074"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-US style='tab-interval:.5in'>
<div class=WordSection1>
<p class=MsoNormal>Kodak KDS TWAIN Driver</p>
<p class=MsoNormal>Debugging Guide</p>
<p class=MsoNormal>03-July-2012</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><b><u><span style='font-size:14.0pt'>Contents</span></u></b></p>
<p class=MsoNormal><span style='font-size:14.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1.0&nbsp;&nbsp;&nbsp;&nbsp; Overview</span></p>
<p class=MsoNormal><span style='font-size:14.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2.0&nbsp;&nbsp;&nbsp;&nbsp; Finding the Driver Files</span></p>
<p class=MsoNormal><span style='font-size:14.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
3.0&nbsp;&nbsp;&nbsp;&nbsp; Configuring the System</span></p>
<p class=MsoNormal><span style='font-size:14.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
4.0&nbsp;&nbsp;&nbsp;&nbsp; Dumping the Data Files</span></p>
<p class=MsoNormal><span style='font-size:14.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
5.0&nbsp;&nbsp;&nbsp;&nbsp; Dumping the Image Files</span></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><b><u><span style='font-size:14.0pt'>1.0&nbsp;&nbsp;&nbsp;&nbsp;
Overview</span></u></b></p>
<p class=MsoNormal>If sending information to Kodak about the TWAIN driver, we
recommend including log data, which will result in a quicker diagnosis.&nbsp;
This document should be helpful to select what to send.&nbsp; If in doubt, send
everything you can.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>The TWAIN driver debugs most problems through its logging
system.&nbsp;&nbsp; This logging system is reasonably sophisticated, and can be
configured to focus on specific areas, as needed.&nbsp; The most common kinds
of logging configurations are as follows:</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><u>Logging everything</u>: recording all activity.&nbsp;
Occasionally this is the best way to capture needed information, especially if
the problem is easily reproducible, but not obviously a problem with either the
application or the scanner.&nbsp; Logs generated this way tend to be very
large, and full of a lot of information. (<b>Debug=1</b>)</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><st1:place w:st="on"><u>Flushing</u></st1:place><u> to disk</u>:
best when analyzing crashes.&nbsp; Disk drives rely on caches to boost
performance, however, when programs crash they may strand vital information in
those caches.&nbsp; If an application crash is easily reproducible, then its
possible to flush every log entry to disk.&nbsp; This is typically used when
logging everything, so the log files are very large and the application and
driver performance is very slow. (<b>Debug=7</b>)</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><u>Database Dumping</u>: (5.x only) used to take a snapshot
of the main database elements in the driver.&nbsp; (<b>Debug=256</b>)</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><u>Image Dumping</u>: used to capture images as soon as they
are transferred from the scanner, and before they are processed or passed to
the application.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><b><u><span style='font-size:14.0pt'>2.0&nbsp;&nbsp;&nbsp;&nbsp;
Finding the Driver Files</span></u></b></p>
<p class=MsoNormal>All Kodak TWAIN driver files are accessible through the
following path:</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='text-indent:.5in'><b>%winbootdir%\twain_32\kodak</b></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>Where <b>%<span class=SpellE>winbootdir</span>%</b> is the
path to the Windows directory, which is usually either C:\WINDOWS or
C:\WINNT.&nbsp; If you are not sure what this is you can do the following to
find it out.&nbsp; This works for all versions of Windows.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in'>1)<span
style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Click on START</p>
<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in'>2)<span
style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Select RUN</p>
<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in'>3)<span
style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Type in COMMAND
and hit the Enter key</p>
<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in'>4)<span
style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Type SET in the
DOS window</p>
<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in'>5)<span
style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Look for
WINBOOTDIR</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>When you look in the <b>%winbootdir%\twain_32\kodak</b> you
may see several directories and files.&nbsp; Look for anything beginning with
the letters KDS; these contain the Kodak TWAIN drivers.&nbsp; Pick the one that
matches your scanner.&nbsp; You can find the version at the top of the <b>readme.txt</b>
file.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><span lang=IT style='mso-ansi-language:
IT'>kds_i30_i40&nbsp;&nbsp;&nbsp;&nbsp; - Version 6.x i30/i40 driver</span></p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;</span></p>
<p class=MsoNormal style='margin-left:.5in'><span lang=IT style='mso-ansi-language:
IT'>kds_i100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Version
6.x i100 driver</span></p>
<p class=MsoNormal style='margin-left:.5in'><span lang=IT style='mso-ansi-language:
IT'>&nbsp;</span></p>
<p class=MsoNormal style='margin-left:.5in'><span lang=IT style='mso-ansi-language:
IT'>kds_i200&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Version
4.x i200 driver</span></p>
<p class=MsoNormal style='margin-left:.5in'><span lang=IT style='mso-ansi-language:
IT'>&nbsp;</span></p>
<p class=MsoNormal style='margin-left:.5in'><span lang=IT style='mso-ansi-language:
IT'>kds_i600&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Version
5.x or 6.x i600 driver</span></p>
<p class=MsoNormal style='margin-left:.5in'><span lang=IT style='mso-ansi-language:
IT'>&nbsp;</span></p>
<p class=MsoNormal style='margin-left:.5in'><span lang=IT style='mso-ansi-language:
IT'>kds_i800&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Version
4.x or 6.x i800 driver</span></p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;</span></p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
kds_i1200&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Version 7.x i1200
driver</span></p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;</span></p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
kds_i1300&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Version 7.x i1300
driver</span></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span lang=IT style='mso-ansi-language:IT'>kds_i1400&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-
Version 9.x i1400 driver</span></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
kds_i1800&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Version 8.x i1800
driver</span></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
kds_i1100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Version 9.x i1100
driver</span></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
kds_i700&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Version 9.x
i700 driver</span></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
kds_i4200_i4600 - Version 10.x i4000 driver</span></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
kds_i5000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Version 11.x i5000 driver</span></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
kds_i2000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Version 11.x i2000 driver</span></p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;</span></p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
kds_i900&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Version 11.x
i900 driver</span></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
kds_i2900&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Version 12.x i2900 driver</span></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
kds_i3000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Version 12.x i3000 driver</span></p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;</span></p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
kds_pss<span style='mso-spacerun:yes'>    </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- Version 12.x PS50/PS80 driver</span></p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;</span></p>
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>&nbsp;</span></p>
<p class=MsoNormal><b><u><span style='font-size:14.0pt'>3.0&nbsp;&nbsp;&nbsp;&nbsp;
Configuring the System</span></u></b></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>If you are using a 2/3.x driver, then edit the <b>const.ini</b>
file.&nbsp; If you are using a 4/5/6.x driver, then click on the file called <b>a
shortcut to const.ini </b>to edit the file.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>Inside of this file you will find two values near the top.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Debug=0</b></p>
<p class=MsoNormal><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class=SpellE>DebugFilter</span>=</b></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>These are the switches used to configure the Kodak TWAIN
driver logging system.&nbsp; By default they are turned off, so that the driver
will only record a small amount of information in the event of an error.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>The recommended values for <b>Debug</b> are as follows:</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><b>Debug=0</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- record nothing but errors</p>
<p class=MsoNormal style='margin-left:.5in'><b>Debug=1</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- record everything</p>
<p class=MsoNormal style='text-indent:.5in'><b>Debug=7</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- record everything and flush to disk</p>
<p class=MsoNormal style='margin-left:.5in'><b>Debug=64</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- record just the memory usage</p>
<p class=MsoNormal style='margin-left:.5in'><b>Debug=256</b>&nbsp;&nbsp;&nbsp;&nbsp;
- (5.x only) dump the data files</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><b><u><span style='font-size:14.0pt'>4.0&nbsp;&nbsp;&nbsp;&nbsp;
Dumping the Data Files</span></u></b></p>
<p class=MsoNormal>This is available with the version 5/6.x drivers.&nbsp; If
there is doubt about the state of the database or the language files or the
device configuration data, then it is possible to dump those files at the start
of the session.&nbsp; This is done by setting <b>Debug=256</b> in the <b>const.ini</b>
file.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>The files all start with the letters <b>KDS</b> and are
placed in the users temp directory.&nbsp; Unfortunately, there is no single,
common way to find this directory across all versions of Windows, so rather
than try to describe how its done for each OS, we recommend that you search on
your Windows OS disk (usually C:\) for all occurrences of <b>KDS*.TXT, </b>finding
the files:</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
KdsDbFixed.txt</p>
<p class=MsoNormal style='text-indent:.5in'>KdsDeviceConfig.txt</p>
<p class=MsoNormal style='text-indent:.5in'>KdsLabel.txt</p>
<p class=MsoNormal style='text-indent:.5in'>KdsLookupGui.txt</p>
<p class=MsoNormal style='text-indent:.5in'>KdsLookupTwain.txt</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>So, if youre looking for everything possible to send when
looking for help, feel free to include these files.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><b><u><span style='font-size:14.0pt'>5.0&nbsp;&nbsp;&nbsp;&nbsp;
Dumping the Image Files</span></u></b></p>
<p class=MsoNormal>Not all drivers support this, but those that do will show a Dump
tab in the TWAIN GUI when it is run from the Scanner Validation Tool (SVT), if
the user has the right license level.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>You have to contact Kodak to get a license.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>For all scanners the tab offers a way to write images to
disk before they are passed up to the application.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>The first option provides a way to guarantee that the
transfer of the image from the driver to the application did not change it in
any way.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>The second option dumps the data before it is processed by
the driver.&nbsp; This raw image is the one that we would want to see if
there are questions about image quality.&nbsp; Its also the image you need to
use if you want to feed it back into the driver using the simulator.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>&nbsp;</p>
</div>
</body>
</html>

4520
Spec/Kodak/faq.htm Normal file

File diff suppressed because it is too large Load Diff

3846
Spec/Kodak/kdscust.h Normal file

File diff suppressed because it is too large Load Diff

719
Spec/Kodak/links.htm Normal file
View File

@ -0,0 +1,719 @@
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 12">
<meta name=Originator content="Microsoft Word 12">
<link rel=File-List href="links_files/filelist.xml">
<title>This file contains useful support links</title>
<!--[if gte mso 9]><xml>
<o:DocumentProperties>
<o:Author>50484369</o:Author>
<o:LastAuthor>50484369</o:LastAuthor>
<o:Revision>3</o:Revision>
<o:TotalTime>22</o:TotalTime>
<o:Created>2012-06-21T17:03:00Z</o:Created>
<o:LastSaved>2012-06-21T17:25:00Z</o:LastSaved>
<o:Pages>1</o:Pages>
<o:Words>130</o:Words>
<o:Characters>742</o:Characters>
<o:Company>Microsoft</o:Company>
<o:Lines>6</o:Lines>
<o:Paragraphs>1</o:Paragraphs>
<o:CharactersWithSpaces>871</o:CharactersWithSpaces>
<o:Version>12.00</o:Version>
</o:DocumentProperties>
</xml><![endif]-->
<link rel=themeData href="links_files/themedata.thmx">
<link rel=colorSchemeMapping href="links_files/colorschememapping.xml">
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:SpellingState>Clean</w:SpellingState>
<w:TrackMoves>false</w:TrackMoves>
<w:TrackFormatting/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="&#45;-"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:0;
mso-generic-font-family:roman;
mso-font-pitch:variable;
mso-font-signature:-536870145 1107305727 0 0 415 0;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:modern;
mso-font-pitch:fixed;
mso-font-signature:-520092929 1073806591 9 0 415 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;}
h1
{mso-style-priority:9;
mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-link:"Heading 1 Char";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
text-align:justify;
page-break-before:always;
mso-pagination:widow-orphan;
page-break-after:avoid;
mso-outline-level:1;
font-size:18.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;}
h2
{mso-style-priority:9;
mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-link:"Heading 2 Char";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
mso-pagination:widow-orphan;
page-break-after:avoid;
mso-outline-level:2;
font-size:14.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;}
h3
{mso-style-priority:9;
mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-link:"Heading 3 Char";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
mso-pagination:widow-orphan;
page-break-after:avoid;
mso-outline-level:3;
font-size:12.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;}
h4
{mso-style-priority:9;
mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-link:"Heading 4 Char";
margin-top:12.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
mso-pagination:widow-orphan;
page-break-after:avoid;
mso-outline-level:4;
font-size:14.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;}
p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2
{mso-style-noshow:yes;
mso-style-priority:99;
mso-style-link:"Body Text 2 Char";
margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
line-height:200%;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;}
p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3
{mso-style-noshow:yes;
mso-style-priority:99;
mso-style-link:"Body Text 3 Char";
margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
mso-pagination:widow-orphan;
font-size:8.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;}
a:link, span.MsoHyperlink
{mso-style-noshow:yes;
mso-style-priority:99;
color:blue;
text-decoration:underline;
text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-noshow:yes;
mso-style-priority:99;
color:purple;
text-decoration:underline;
text-underline:single;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
{mso-style-noshow:yes;
mso-style-priority:99;
mso-style-link:"Plain Text Char";
margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Courier New";
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;}
span.Heading1Char
{mso-style-name:"Heading 1 Char";
mso-style-priority:9;
mso-style-unhide:no;
mso-style-locked:yes;
mso-style-link:"Heading 1";
mso-ansi-font-size:14.0pt;
mso-bidi-font-size:14.0pt;
font-family:"Cambria","serif";
mso-ascii-font-family:Cambria;
mso-ascii-theme-font:major-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:major-fareast;
mso-hansi-font-family:Cambria;
mso-hansi-theme-font:major-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:major-bidi;
color:#365F91;
mso-themecolor:accent1;
mso-themeshade:191;
font-weight:bold;}
span.Heading2Char
{mso-style-name:"Heading 2 Char";
mso-style-noshow:yes;
mso-style-priority:9;
mso-style-unhide:no;
mso-style-locked:yes;
mso-style-link:"Heading 2";
mso-ansi-font-size:13.0pt;
mso-bidi-font-size:13.0pt;
font-family:"Cambria","serif";
mso-ascii-font-family:Cambria;
mso-ascii-theme-font:major-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:major-fareast;
mso-hansi-font-family:Cambria;
mso-hansi-theme-font:major-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:major-bidi;
color:#4F81BD;
mso-themecolor:accent1;
font-weight:bold;}
span.Heading3Char
{mso-style-name:"Heading 3 Char";
mso-style-noshow:yes;
mso-style-priority:9;
mso-style-unhide:no;
mso-style-locked:yes;
mso-style-link:"Heading 3";
mso-ansi-font-size:12.0pt;
mso-bidi-font-size:12.0pt;
font-family:"Cambria","serif";
mso-ascii-font-family:Cambria;
mso-ascii-theme-font:major-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:major-fareast;
mso-hansi-font-family:Cambria;
mso-hansi-theme-font:major-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:major-bidi;
color:#4F81BD;
mso-themecolor:accent1;
font-weight:bold;}
span.Heading4Char
{mso-style-name:"Heading 4 Char";
mso-style-noshow:yes;
mso-style-priority:9;
mso-style-unhide:no;
mso-style-locked:yes;
mso-style-link:"Heading 4";
mso-ansi-font-size:12.0pt;
mso-bidi-font-size:12.0pt;
font-family:"Cambria","serif";
mso-ascii-font-family:Cambria;
mso-ascii-theme-font:major-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:major-fareast;
mso-hansi-font-family:Cambria;
mso-hansi-theme-font:major-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:major-bidi;
color:#4F81BD;
mso-themecolor:accent1;
font-weight:bold;
font-style:italic;}
span.BodyText2Char
{mso-style-name:"Body Text 2 Char";
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-unhide:no;
mso-style-locked:yes;
mso-style-link:"Body Text 2";
mso-ansi-font-size:12.0pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;}
span.BodyText3Char
{mso-style-name:"Body Text 3 Char";
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-unhide:no;
mso-style-locked:yes;
mso-style-link:"Body Text 3";
mso-ansi-font-size:8.0pt;
mso-bidi-font-size:8.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;}
span.PlainTextChar
{mso-style-name:"Plain Text Char";
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-unhide:no;
mso-style-locked:yes;
mso-style-link:"Plain Text";
mso-ansi-font-size:10.5pt;
mso-bidi-font-size:10.5pt;
font-family:Consolas;
mso-ascii-font-family:Consolas;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Consolas;
mso-bidi-font-family:Consolas;}
p.style4, li.style4, div.style4
{mso-style-name:style4;
mso-style-unhide:no;
margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
text-align:justify;
page-break-before:always;
mso-pagination:widow-orphan;
page-break-after:avoid;
font-size:18.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
font-weight:bold;}
p.style2, li.style2, div.style2
{mso-style-name:style2;
mso-style-unhide:no;
margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
mso-pagination:widow-orphan;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
font-weight:bold;
font-style:italic;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
font-size:10.0pt;
mso-ansi-font-size:10.0pt;
mso-bidi-font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 65.95pt 1.0in 65.95pt;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.WordSection1
{page:WordSection1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman","serif";}
</style>
<![endif]--><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="2050"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>
<div class=WordSection1>
<p class=MsoPlainText>This file contains useful support links.</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><o:p>&nbsp;</o:p></p>
<p class=MsoPlainText><b>Kodak Document Imaging:&nbsp; </b><b><span
style='mso-fareast-font-family:"Times New Roman";color:black'><a
href="http://www.kodak.com/go/scanners"><span style='font-weight:normal'>http://www.kodak.com/go/scanners</span></a></span></b></p>
<p class=MsoPlainText><span style='mso-fareast-font-family:"Times New Roman";
color:black'>This is the scanner product page for Document Imaging.&nbsp; To
get to the driver downloads and user publications, select your scanner. If your
scanner is not listed, click &quot;Support Center&quot; to find it.<o:p></o:p></span></p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><b>TWAIN Working Group:&nbsp; <a
href="http://www.twain.org/">http://www.twain.org/</a></b></p>
<p class=MsoPlainText>This is the main page for the TWAIN Working Group.&nbsp;
Go here to get the latest Specifications and White Papers.&nbsp; TWAIN also
puts out a newsletter detailing the latest information about the standard, and
provides a mailing list to monitor activity and to facilitate community
assistance on TWAIN issues.</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>You can also go here to access the TWAIN Forum, an online
discussion platform where you can exchange ideas with the TWAIN community.</p>
<p class=MsoPlainText>&nbsp;</p>
</div>
</body>
</html>

241
Spec/Kodak/readme.htm Normal file
View File

@ -0,0 +1,241 @@
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=Generator content="Microsoft Word 10 (filtered)">
<title>The contents of this directory provide information about the custom
features of the Kodak TWAIN driver</title>
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
h1
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
text-align:justify;
page-break-before:always;
page-break-after:avoid;
font-size:18.0pt;
font-family:"Times New Roman";}
h2
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Times New Roman";}
h3
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:12.0pt;
font-family:"Times New Roman";}
h4
{margin-top:12.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Times New Roman";}
p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2
{margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
line-height:200%;
font-size:12.0pt;
font-family:"Times New Roman";}
p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3
{margin-top:0in;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
font-size:8.0pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
{margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
p.style4, li.style4, div.style4
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
text-align:justify;
page-break-before:always;
page-break-after:avoid;
font-size:18.0pt;
font-family:"Times New Roman";
font-weight:bold;}
p.style2, li.style2, div.style2
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Times New Roman";
font-weight:bold;
font-style:italic;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 65.95pt 1.0in 65.95pt;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoPlainText>KODAK Directory</p>
<p class=MsoPlainText>Readme File</p>
<p class=MsoPlainText>02-August-2006</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>The contents of this directory provide information about
the custom features of the Kodak TWAIN driver.</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><b><u><a href="GettingStarted.htm">GettingStarted.htm</a></u></b></p>
<p class=MsoPlainText>Some hints for new application writers.&nbsp; The
information here technically belongs in the FAQ, but were pulling it out to
help jumpstart the development process for someone who is new to the Kodak
Document Scanners, TWAIN or both.</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><b><u><a href="links.htm">links.htm</a></u></b></p>
<p class=MsoPlainText>A list of links pointing to Kodak and TWAIN driver
support resources on the net.</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><b><u><a href="faq.htm">faq.htm</a></u></b></p>
<p class=MsoPlainText>A list of hints, help and Frequently Asked Questions
concerning the Kodak TWAIN driver; integrators are strongly encouraged to look
through this file when looking for information about how the driver works, how
to integrate it, and some of the configuration tweaks and tricks that can be
applied to help it work better in specific situations.</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><b><u><a href="kdscust.h">kdscust.h</a></u></b></p>
<p class=MsoPlainText>This is the C/C++ header file containing (and describing)
all the custom TWAIN capabilities and operations supported by the driver. For
more detail see <b><u><a href="TWAIN_Features.htm">TWAIN_Features.htm</a>.</u></b></p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><b><u><a href="debugging.htm">debugging.htm</a></u></b></p>
<p class=MsoPlainText>This describes the logging system for the Kodak TWAIN
driver, though it also discusses a couple other diagnostic tools.&nbsp; This is
probably the most important document to read if you are attempting to diagnose
a problem using the driver.&nbsp; Note that it can be used to analyze the
behavior of the application and the scanner too.</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><b><u><a href="simulator.htm">simulator.htm</a></u></b></p>
<p class=MsoPlainText>The Kodak TWAIN driver supports a simulation mode that
allows integrators to test scanner models without a physical scanner.&nbsp;
This document provides information on how to use the simulator.</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><b><a href="TWAIN_DualStream.htm">TWAIN_DualStream.htm</a></b></p>
<p class=MsoPlainText>This document is a bit of a mix between the current Kodak
DualStream functionality and a proposed Single Document Multiple Images
proposal for the TWAIN Working Group.</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><b><a href="TWAIN_ExtImageInfo.htm">TWAIN_ExtImageInfo.htm</a></b></p>
<p class=MsoPlainText>Applications maximize their flexibility when they collect
the meta-data associated with each image captured by the scanner.&nbsp; For simple
applications DAT_IMAGEINFO is often enough information.&nbsp; More complex
applications will want to use DAT_EXTIMAGEINFO.&nbsp; This document goes into
some detail about how best to use the call, and what information it offers per
image.</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><b><a href="TWAIN_FileSystem.htm">TWAIN_FileSystem.htm</a></b></p>
<p class=MsoPlainText>Theres a bit of source code in here to help uses who
need to negotiate the rear cameras separately from the front cameras (this most
often occurs when trying to set up simultaneous bitonal/color or
bitonal/grayscale scanning using the custom CAP_CAMERAENABLE capability).</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><b><u><a href="TWAIN_ProgrammaticControl.htm">TWAIN_ProgrammaticControl.htm</a></u></b></p>
<p class=MsoPlainText>This document describes how all TWAIN and custom
capabilities work for each scanner.</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><b><u><a href="TWAIN_ProgrammaticPrinting.htm">TWAIN_ProgrammaticPrinting.htm</a></u></b></p>
<p class=MsoPlainText>This document describes how to programmatically drive the
scanner printing functionality through the TWAIN interface, (as opposed to
doing it through the driver GUI).</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><b><a href="TWAIN_ScannerIdentification.htm">TWAIN_ScannerIdentification.htm</a></b></p>
<p class=MsoPlainText>In an ideal world an application should never have to
know the exact model number (save maybe to show the value to a user).&nbsp;
This is our concession to reality.</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><b><a href="TWAIN_Internationalization.htm">TWAIN_Internationalization.htm</a></b></p>
<p class=MsoPlainText>This section details the various ways that an application
or user can select the language used by the driver.</p>
<p class=MsoPlainText>&nbsp;</p>
</div>
</body>
</html>

1808
Spec/Kodak/simulator.htm Normal file

File diff suppressed because it is too large Load Diff